Condividi tramite


IMap<K,V> Interfaccia

Definizione

Rappresenta una raccolta associativa, nota anche come mappa o dizionario.

.NET Questa interfaccia viene visualizzata come codice .NET come System.Collections.Generic.IDictionary<TKey,TValue> a causa della proiezione del linguaggio .NET. In qualsiasi caso, in cui un tipo di Windows Runtime ha implementato il codice IMap<K,V>, .NET può usare invece le API di TKey,TValue> IDictionary<.

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))

Parametri di tipo

K
V
Attributi
Implementazioni

Requisiti Windows

Famiglia di dispositivi
Windows 10 (è stato introdotto in 10.0.10240.0)
API contract
Windows.Foundation.FoundationContract (è stato introdotto in v1.0)

Commenti

Quando si programma con .NET, questa interfaccia è nascosta e gli sviluppatori devono usare l'interfaccia System.Collections.Generic.IDictionary<TKey,TValue> se vogliono implementare un tipo di mappa/dizionario. In qualsiasi caso, in cui un tipo di Windows Runtime ha implementato il codice IMap<K,V>, .NET può usare invece le API di TKey,TValue> IDictionary<. Include tutte le API di Windows Runtime esistenti e anche scenari come l'uso delle API di Windows Runtime componenti originariamente implementati nelle estensioni dei componenti visual C++ (C++/CX) da un'app C# o Visual Basic.

L'interfaccia IMap<K,V> rappresenta una raccolta di coppie chiave-valore in cui è possibile accedere a un valore tramite la chiave associata. Proprietà e metodi di IMap<K,V> supportano funzionalità di tipo dizionario, ad esempio ottenere le dimensioni della raccolta e aggiungere e rimuovere elementi in posizioni specificate nella raccolta. Inoltre, il metodo GetView fornisce uno snapshot della mappa il cui stato osservabile non cambia. Lo snapshot è utile quando è necessaria una visualizzazione della raccolta per fare riferimento alle operazioni successive che coinvolgono IMap<K,V>.

Funzioni di estensione C++/WinRT

Nota

Le funzioni di estensione esistono nei tipi di proiezione C++/WinRT per determinate API Windows Runtime. Ad esempio, winrt::Windows::Foundation::IAsyncAction è il tipo di proiezione C++/WinRT per IAsyncAction. Le funzioni di estensione non fanno parte della superficie dell'interfaccia binaria dell'applicazione (ABI) dei tipi di Windows Runtime effettivi, pertanto non sono elencati come membri delle API Windows Runtime. È tuttavia possibile chiamarli da qualsiasi progetto C++/WinRT. Vedere funzioni C++/WinRT che estendono Windows Runtime API.

auto begin() const;

Restituisce un iteratore alla prima coppia chiave-valore della raccolta, per l'uso in algoritmi C++ come cicli basati su for intervalli.

auto end() const;

Restituisce un iteratore a un'ultima coppia chiave-valore della raccolta, per l'uso in algoritmi C++ come cicli basati su for intervallo.

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

Prova a cercare un elemento nella mappa con la chiave. Per i tipi di riferimento, restituisce il valore se trovato o nullptr se non trovato. Per i tipi di valore, restituisce un valore std::facoltativo<V>, che contiene il valore se trovato o non ha alcun valore se non trovato.

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

Rimuove l'elemento nella mappa con la chiave, se presente. Restituisce true se l'elemento è stato trovato e rimosso. Restituisce false se l'elemento non è stato trovato.

Ereditarietà dell'interfaccia

IMap<K,V> eredita IIterable usando un vincolo IKeyValuePair che usa gli stessi tipi chiave e valore. I tipi che implementano IMap<K,V> implementano anche i membri dell'interfaccia di IIterable, con vincolo IKeyValuePair che condivide la stessa chiave e valore. Analogamente, se si usa .NET, è disponibile il supporto per IEnumerabe<T>, con il relativo tipo di vincolo come KeyValuePair che usa la stessa chiave e i tipi di valore come l'implementazione IDictionary<TKey,TValue> .

Proprietà

Size

Ottiene il numero di elementi nella mappa.

Metodi

Clear()

Rimuove tutti gli elementi dalla mappa.

GetView()

Restituisce una visualizzazione non modificabile della mappa.

HasKey(K)

Determina se la mappa contiene la chiave specificata.

Insert(K, V)

Inserisce o sostituisce un elemento nella mappa.

Lookup(K)

Restituisce l'elemento nella chiave specificata nella mappa.

Remove(K)

Rimuove un elemento dalla mappa.

Si applica a

Vedi anche