IMap<K,V> Interfaccia
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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
-
IIterable<IKeyValuePair<K,V>> IEnumerable<KeyValuePair<K,V>>
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. |