IMap<K,V> Interface
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Representa uma coleção associativa, também conhecida como mapa ou dicionário.
.NET Essa interface aparece no código .NET como System.Collections.Generic.IDictionary<TKey, TValue> devido à projeção de linguagem .NET. Em qualquer caso em que um tipo de Windows Runtime tenha implementado IMap<K,V>, o código .NET pode usar as APIs de IDictionary<TKey, TValue>.
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
- Implementações
-
IIterable<IKeyValuePair<K,V>> IEnumerable<KeyValuePair<K,V>>
Requisitos do Windows
Família de dispositivos |
Windows 10 (introduzida na 10.0.10240.0)
|
API contract |
Windows.Foundation.FoundationContract (introduzida na v1.0)
|
Comentários
Ao programar com o .NET, essa interface fica oculta e os desenvolvedores devem usar a interface TKey System.Collections.Generic.IDictionary<, TValue> se quiserem implementar um tipo de mapa/dicionário. Em qualquer caso em que um tipo de Windows Runtime tenha implementado IMap<K,V>, o código .NET pode usar as APIs de IDictionary<TKey, TValue>. Isso inclui todas as API de Windows Runtime existentes e também cenários, como o uso das APIs de componentes Windows Runtime originalmente implementados em extensões de componente do Visual C++ (C++/CX) de um aplicativo C# ou Visual Basic.
A interface IMap<K,V> representa uma coleção de pares chave-valor em que um valor pode ser acessado por sua chave associada. Propriedades e métodos de funcionalidade de tipo de dicionário de suporte de IMap<K,V> , como obter o tamanho da coleção e adicionar e remover itens em locais especificados na coleção. Além disso, o método GetView fornece uma instantâneo do mapa cujo estado observável não é alterado. O instantâneo é útil quando você precisa de uma exibição da coleção para se referir em operações subsequentes que envolvem IMap<K,V>.
Funções de extensão C++/WinRT
Observação
Existem funções de extensão nos tipos de projeção C++/WinRT para determinadas APIs de Windows Runtime. Por exemplo, winrt::Windows::Foundation::IAsyncAction é o tipo de projeção C++/WinRT para IAsyncAction. As funções de extensão não fazem parte da superfície da ABI (interface binária do aplicativo) dos tipos de Windows Runtime reais, portanto, elas não são listadas como membros das APIs de Windows Runtime. Mas você pode chamá-los de dentro de qualquer projeto C++/WinRT. Consulte Funções C++/WinRT que estendem apIs de Windows Runtime.
auto begin() const;
Retorna um iterador para o primeiro par chave-valor da coleção, para uso em algoritmos C++, como loops baseados em for
intervalo.
auto end() const;
Retorna um iterador para um após o último par chave-valor da coleção, para uso em algoritmos C++, como loops baseados em for
intervalo.
auto TryLookup(param_type<K> const& key) const;
Tenta pesquisar um elemento no mapa com a chave. Para tipos de referência, retorna o valor se encontrado ou nullptr
, se não for encontrado. Para tipos de valor, retorna um V std::opcional<>, que contém o valor se encontrado ou não tem nenhum valor se não for encontrado.
bool TryRemove(param_type<K> const& key) const;
Remove o elemento no mapa com a chave de chave, se presente. Retorna true
se o elemento foi encontrado e removido. Retorna false
se o elemento não foi encontrado.
Herança de interface
IMap<K,V> herda IIterable, usando uma restrição IKeyValuePair que usa os mesmos tipos de chave e valor. Os tipos que implementam o IMap<K,V> também implementam os membros da interface IIterable, com a restrição de tipo IKeyValuePair compartilhando a mesma chave e valor. Da mesma forma, se você estiver usando o .NET, haverá suporte para IEnumerabe<T>, com seu tipo de restrição como um KeyValuePair que usa os mesmos tipos de chave e valor, assim como a implementação de IDictionary<TKey,TValue> .
Propriedades
Size |
Obtém o número de itens no mapa. |
Métodos
Clear() |
Remove todos os itens do mapa. |
GetView() |
Retorna uma exibição imutável do mapa. |
HasKey(K) |
Determina se o mapa contém a chave especificada. |
Insert(K, V) |
Insere ou substitui um item no mapa. |
Lookup(K) |
Retorna o item na chave especificada no mapa. |
Remove(K) |
Remove um item do mapa. |