Поделиться через


Класс Platform::Collections::Map

Представляет сопоставление, являющееся коллекцией пар "ключ-значение". Реализует Windows::Foundation::Collections::IObservableMap, чтобы помочь с привязкой данных XAML.

Синтаксис

template <
   typename K,
   typename V,
   typename C = std::less<K>>
ref class Map sealed;

Параметры

K
Тип ключа в паре "ключ-значение".

V
Тип значения в паре "ключ-значение".

C
Тип, предоставляющий объект функции, который может сравнить два значения элементов как ключи сортировки для определения их относительного порядка в объекте Map. По умолчанию std::less<K>.

__is_valid_winrt_type() Функция, созданная компилятором, которая проверяет тип K и V и предоставляет понятное сообщение об ошибке, если тип не может храниться в карте.

Замечания

Допустимые типы:

  • integers

  • класс интерфейса^

  • открытый ссылочный класс ^

  • value struct

  • открытый класс перечисления

Карта — это, по сути, программа-оболочка для std::map. Это конкретная реализация типов Windows::Foundation::Collections::IMap<Windows::Foundation::Collections::IKeyValuePair<K,V>> и IObservableMap, передаваемых через общедоступные интерфейсы среда выполнения Windows. При попытке использования типа Platform::Collections::Map в открытом возвращаемом значении или параметре возникает ошибка компилятора C3986. Эту ошибку можно исправить, изменив тип параметра или возвращая значение в Windows::Foundation::Collections::IMap<K,V>.

Дополнительные сведения см. в разделе "Коллекции".

Участники

Открытые конструкторы

Имя Описание
Map::Map Инициализирует новый экземпляр класса Map.

Открытые методы

Имя Описание
Карта::Clear Удаляет все пары "ключ-значение" из текущего объекта Map.
Map::First Возвращает итератор, указывающий первый элемент в сопоставлении.
Map::GetView Возвращает представление текущего объекта Map, доступное только для чтения (т. е. Platform::Collections::MapView Class).
Map::HasKey Определяет, содержит ли текущий объект Map указанный ключ.
Map::Insert Добавляет в текущий объект Map указанную пару "ключ-значение".
Map::Lookup Извлекает элемент по указанному ключу в текущем объекте Map.
Map::Remove Удаляет указанную пару "ключ-значение" из текущего объекта Map.
Map::Size Возвращает количество элементов в текущем объекте Map.

События

Имя Описание
Событие Map::MapChanged Происходит при изменении объекта Map.

Иерархия наследования

Map

Требования

Заголовок: collection.h

Пространство имен: Platform::Collections

Метод Map::Clear

Удаляет все пары "ключ-значение" из текущего объекта Map.

Синтаксис

virtual void Clear();

Метод Map::First

Возвращает итератор, указывающий первый элемент в сопоставлении или nullptr, если сопоставление пусто.

Синтаксис

virtual Windows::Foundation::Collections::IIterator<
Windows::Foundation::Collections::IKeyValuePair<K, V>^>^ First();

Возвращаемое значение

Итератор, указывающий первый элемент на карте.

Замечания

Удобный способ хранения итератора, возвращаемого First(), — назначить возвращаемое значение переменной, объявленной с ключевым словом вычета auto типов. Например, auto x = myMap->First();.

Метод Map::GetView

Возвращает представление только для чтения текущей карты; То есть класс Platform::Collections::MapView, реализующий интерфейс Windows::Foundation::Collections::IMapView<K,V>.

Синтаксис

Windows::Foundation::Collections::IMapView<K, V>^ GetView();

Возвращаемое значение

Объект MapView.

Метод Map::HasKey

Определяет, содержит ли текущий объект Map указанный ключ.

Синтаксис

bool HasKey(K key);

Параметры

key
Ключ, используемый для поиска элемента Map. Тип ключа — typename K.

Возвращаемое значение

true Значение falseв противном случае .

Метод Map::Insert

Добавляет в текущий объект Map указанную пару "ключ-значение".

Синтаксис

virtual bool Insert(K key, V value);

Параметры

key
Ключ из пары "ключ-значение". Тип ключа — typename K.

значение
Значение из пары "ключ-значение". Тип значения — typename V.

Возвращаемое значение

true Значение имеет значение, если ключ существующего элемента в текущем элементе Map соответствует ключу , а для части значения этого элемента задано значение. falseЕсли существующий элемент в текущем ключе Сопоставления не соответствует ключу, а параметры ключа и значения вносятся в пару "ключ-значение", а затем добавляются в текущую карту.

Метод Map::Lookup

Возвращает значение типа V, связанное с указанным ключом типа K, если ключ существует.

Синтаксис

V Lookup(K key);

Параметры

key
Ключ, используемый для поиска элемента на карте. Тип ключа — typename K.

Возвращаемое значение

Значение, которое связано с ключом. Тип возвращаемого значения — typename V.

Замечания

Если ключ не существует, создается исключение Platform::OutOfBoundsException .

Конструктор Map::Map

Инициализирует новый экземпляр класса Map.

Синтаксис

explicit Map(const C& comp = C());
explicit Map(const StdMap& m);
explicit Map(StdMap&& m ;
template <typename InIt>
Map(
   InItfirst,
   InItlast,
   const C& comp = C());

Параметры

InIt
Имя типа текущего объекта Map.

comp
Тип, предоставляющий объект функции, который может сравнить два значения элементов как ключи сортировки для определения их относительного порядка в объекте Map.

m
Ссылка или rvalue на объект map Class , используемый для инициализации текущей карты.

first
Итератор ввода первого элемента в диапазоне элементов, используемый для инициализации текущего объекта Map.

last
Итератор ввода первого элемента после диапазона элементов, используемый для инициализации текущего объекта Map.

Событие Map::MapChanged

Возникает, когда элемент вставляется в сопоставление или удаляется из него.

Синтаксис

event Windows::Foundation::Collections::MapChangedEventHandler<K,V>^ MapChanged;

Значение свойства/возвращаемое значение

MapChangedEventHandler<K,V>, содержащий сведения об объекте, вызвавшее событие, и тип изменения, которое произошло. См. также перечисление IMapChangedEventArgs<K> и CollectionChange.

Эквивалент .NET Framework

среда выполнения Windows приложения, использующие C# или Visual Basic project IMap<K,V> как IDictionary<K,V>.

Метод Map::Remove

Удаляет указанную пару "ключ-значение" из текущего объекта Map.

Синтаксис

virtual void Remove(K key);

Параметры

key
Ключ из пары "ключ-значение". Тип ключа — typename K.

Метод Map::Size

Возвращает количество элементов Windows::Foundation::Collections::IKeyValuePair<K,V> в карте.

Синтаксис

virtual property unsigned int Size;

Возвращаемое значение

Количество элементов в объекте Map.

См. также

Коллекции (C++/CX)
Пространство имен платформы
Создание компонентов среды выполнения Windows на C++