Compartir a través de


IMap<K,V> Interfaz

Definición

Representa una colección asociativa, también conocida como un mapa o un diccionario.

.RED Esta interfaz parece código de .NET como System.Collections.Generic.IDictionary<TKey,TValue> debido a la proyección del lenguaje .NET. En cualquier caso en el que un tipo de Windows Runtime haya implementado IMap<K,V>, el código .NET puede usar las API de IDictionary<TKey,TValue> en su lugar.

public interface class IMap : IIterable<IKeyValuePair<K, V> ^>
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.FoundationContract, 65536)]
/// [Windows.Foundation.Metadata.Guid(1009329662, 34073, 17857, 170, 121, 25, 123, 103, 24, 193, 193)]
template <typename K, typename V>
struct IMap : IIterable<IKeyValuePair<K, V>>
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.FoundationContract), 65536)]
[Windows.Foundation.Metadata.Guid(1009329662, 34073, 17857, 170, 121, 25, 123, 103, 24, 193, 193)]
public interface IDictionary<K,V> : IEnumerable<KeyValuePair<K,V>>
Public Interface IDictionary(Of K, V)
Implements IEnumerable(Of KeyValuePair(Of K, V))

Parámetros de tipo

K
V
Atributos
Implementaciones

Requisitos de Windows

Familia de dispositivos
Windows 10 (se introdujo en la versión 10.0.10240.0)
API contract
Windows.Foundation.FoundationContract (se introdujo en la versión v1.0)

Comentarios

Al programar con .NET, esta interfaz está oculta y los desarrolladores deben usar la interfaz System.Collections.Generic.IDictionary<TKey,TValue> si quieren implementar un tipo de mapa o diccionario. En cualquier caso en el que un tipo de Windows Runtime haya implementado IMap<K,V>, el código .NET puede usar las API de IDictionary<TKey,TValue> en su lugar. Esto incluye todas las API de Windows Runtime existentes y también escenarios como el uso de las API de Windows Runtime componentes implementados originalmente en extensiones de componentes de Visual C++ (C++/CX) desde una aplicación de C# o Visual Basic.

La interfaz IMap<K,V> representa una colección de pares clave-valor a los que se puede tener acceso a un valor mediante su clave asociada. Las propiedades y los métodos de IMap<K,V> admiten la funcionalidad de tipo de diccionario, como obtener el tamaño de la colección y agregar y quitar elementos en ubicaciones especificadas de la colección. Además, el método GetView proporciona una instantánea del mapa cuyo estado observable no cambia. La instantánea es útil cuando necesita una vista de la colección a la que hacer referencia en las operaciones posteriores que implican IMap<K,V>.

Funciones de extensión de C++/WinRT

Nota:

Existen funciones de extensión en los tipos de proyección de C++/WinRT para determinadas API de Windows Runtime. Por ejemplo, winrt::Windows::Foundation::IAsyncAction es el tipo de proyección de C++/WinRT para IAsyncAction. Las funciones de extensión no forman parte de la superficie de la interfaz binaria de la aplicación (ABI) de los tipos de Windows Runtime reales, por lo que no se enumeran como miembros de las API de Windows Runtime. Pero puede llamarlos desde cualquier proyecto de C++/WinRT. Consulte Funciones de C++/WinRT que amplían las API de Windows Runtime.

auto begin() const;

Devuelve un iterador al primer par clave-valor de la colección, para su uso en algoritmos de C++, como bucles basados en for intervalos.

auto end() const;

Devuelve un iterador a un pasado el último par clave-valor de la colección, para su uso en algoritmos de C++, como bucles basados en for intervalos.

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

Intenta buscar un elemento en el mapa con la clave de clave. Para los tipos de referencia, devuelve el valor si se encuentra o nullptr si no se encuentra. Para los tipos de valor, devuelve un std::optional<V>, que contiene el valor si se encuentra o no tiene ningún valor si no se encuentra.

bool TryRemove(param_type<K> const& key) const;

Quita el elemento del mapa con la clave de clave, si está presente. Devuelve true si se encontró y quitó el elemento. Devuelve false si no se encontró el elemento .

Herencia de interfaz

IMap<K,V> hereda IIterable, mediante una restricción IKeyValuePair que usa los mismos tipos de clave y valor. Los tipos que implementan IMap<K,V> también implementan los miembros de interfaz de IIterable, con la restricción de tipo IKeyValuePair que comparte la misma clave y valor. Del mismo modo, si usa .NET, hay compatibilidad con IEnumerabe<T>, con su tipo de restricción como keyValuePair que usa los mismos tipos de clave y valor que la implementación de TKey,TValue> de IDictionary<.

Propiedades

Size

Obtiene el número de elementos del mapa.

Métodos

Clear()

Quita todos los elementos del mapa.

GetView()

Devuelve una vista inmutable del mapa.

HasKey(K)

Determina si el mapa contiene la clave especificada.

Insert(K, V)

Inserta o reemplaza un elemento en el mapa.

Lookup(K)

Devuelve el elemento en la clave especificada del mapa.

Remove(K)

Quita un elemento del mapa.

Se aplica a

Consulte también