IMap<K,V> Interfaz
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
-
IIterable<IKeyValuePair<K,V>> IEnumerable<KeyValuePair<K,V>>
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. |