IMapView<K,V> Интерфейс

Определение

Представляет неизменяемое представление на карте.

.ЧИСТАЯ Этот интерфейс отображается как System.Collections.Generic.IReadOnlyDictionary<TKey,TValue> из-за проекции языка .NET. В любом случае, когда тип среда выполнения Windows реализует IMapView<K,V>, код .NET может использовать API IReadOnlyDictionary<TKey,TValue>.

public interface class IMapView : IIterable<IKeyValuePair<K, V> ^>
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.FoundationContract, 65536)]
/// [Windows.Foundation.Metadata.Guid(3833646656, 41784, 19162, 173, 207, 39, 34, 114, 228, 140, 185)]
template <typename K, typename V>
struct IMapView : IIterable<IKeyValuePair<K, V>>
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.FoundationContract), 65536)]
[Windows.Foundation.Metadata.Guid(3833646656, 41784, 19162, 173, 207, 39, 34, 114, 228, 140, 185)]
public interface IReadOnlyDictionary<K,V> : IEnumerable<KeyValuePair<K,V>>
Public Interface IReadOnlyDictionary(Of K, V)
Implements IEnumerable(Of KeyValuePair(Of K, V))

Параметры типа

K
V
Атрибуты
Реализации

Требования к Windows

Семейство устройств
Windows 10 (появилось в 10.0.10240.0)
API contract
Windows.Foundation.FoundationContract (появилось в v1.0)

Комментарии

При программировании с помощью .NET этот интерфейс скрыт, и разработчики должны использовать интерфейс System.Collections.Generic.IReadOnlyDictionary<TKey,TValue> , если они хотят реализовать тип карты и словаря только для чтения. В любом случае, когда тип среда выполнения Windows реализует IMapView<K,V>, код .NET может использовать API IReadOnlyDictionary<TKey,TValue>. Сюда входят все существующие API среда выполнения Windows, а также сценарии, такие как использование API среда выполнения Windows компонентов, изначально реализованных на C++ из приложения C# или Visual Basic.

Интерфейс K,V> IMapView<представляет коллекцию пар "ключ-значение", где доступ к значению можно получить с помощью связанного ключа. Свойства и методы IMapView<K,V> поддерживают функции словарного типа, такие как получение размера коллекции или подстановки, но не поддерживают добавление или удаление элементов, так как карта доступна только для чтения.

Функции расширения C++/WinRT

Примечание

Функции расширения существуют в типах проекций C++/WinRT для определенных API среда выполнения Windows. Например, winrt::Windows::Foundation::IAsyncAction — это тип проекции C++/WinRT для IAsyncAction. Функции расширения не являются частью поверхности двоичного интерфейса приложения (ABI) фактических типов среда выполнения Windows, поэтому они не перечислены как члены СРЕДА ВЫПОЛНЕНИЯ WINDOWS API. Но их можно вызывать из любого проекта C++/WinRT. См. статью Функции C++/WinRT, расширяющие среда выполнения Windows API.

auto begin() const;

Возвращает итератор первой пары "ключ-значение" коллекции для использования в алгоритмах C++, таких как циклы на основе for диапазона.

auto end() const;

Возвращает итератор после последней пары "ключ-значение" коллекции для использования в алгоритмах C++, таких как циклы на основе for диапазона.

auto TryLookup(param_type<K> const& key) const;

Пытается найти элемент на карте с помощью ключа. Для ссылочных типов возвращает значение , если найдено или nullptr не найдено. Для типов значений возвращает std::optional<V>, который содержит значение , если он найден, или не имеет значения, если не найден.

Наследование интерфейса

IMapView наследует IIterable, используя ограничение IKeyValuePair . Типы, реализующие IMapView, также реализуют члены интерфейса IKeyValuePair с ограничением типа IKeyValuePair . Аналогичным образом, если вы используете .NET, существует поддержка IEnumerable; T> с типом ограничения в виде KeyValuePair , который использует те же типы ключей и значений, что и реализация IReadOnlyDictionary<TKey,TValue> .

Свойства

Size

Возвращает количество элементов на карте.

Методы

HasKey(K)

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

Lookup(K)

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

Split(IMapView<K,V>, IMapView<K,V>)

Разделяет представление карты на два представления.

Применяется к

См. также раздел