Класс 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++