Condividi tramite


Classe Platform::Collections::Map

Rappresenta una mappa, che è una raccolta di coppie chiave-valore. Implementa Windows::Foundation::Collections::IObservableMap per facilitare il data binding XAML.

Sintassi

template <
   typename K,
   typename V,
   typename C = std::less<K>>
ref class Map sealed;

Parametri

K
Tipo di chiave nella coppia chiave-valore.

V
Tipo di valore nella coppia chiave-valore.

C
Tipo che fornisce un oggetto funzione che può confrontare due valori di elementi come chiavi di ordinamento per determinare l'ordine relativo nella mappa. Per impostazione predefinita, std::less<K>.

__is_valid_winrt_type() Funzione generata dal compilatore che convalida il tipo di K e V e fornisce un messaggio di errore descrittivo se il tipo non può essere archiviato nella mappa.

Osservazioni:

I tipi consentiti sono:

  • integer

  • classe di interfaccia^

  • classe di riferimento pubblica^

  • value struct

  • classe enum pubblica

La mappa è fondamentalmente un wrapper per std::map. Si tratta di un'implementazione concreta di C++ dei tipi Windows::Foundation::Collections::IMap<Windows::Foundation::Collections::IKeyValuePair<K,V>> e IObservableMap passati tra le interfacce di Windows Runtime pubbliche. Se tenti di usare un tipo Platform::Collections::Map in un parametro o valore restituito pubblico, viene generato l'errore del compilatore C3986. È possibile correggere l'errore modificando il tipo del parametro o il valore restituito in Windows::Foundation::Collections::IMap<K,V>.

Per altre informazioni, vedere Raccolte.

Membri

Costruttori pubblici

Nome Descrizione
Map::Map Inizializza una nuova istanza della classe Map.

Metodi pubblici

Nome Descrizione
Map::Clear Rimuove tutte le coppie chiave-valore dall'oggetto Map corrente.
Map::First Restituisce un iteratore che specifica il primo elemento nella mappa.
Map::GetView Restituisce una visualizzazione di sola lettura dell'oggetto Map corrente, ovvero Platform::Collections::MapView Class.
Map::HasKey Determina se l'oggetto Map corrente contiene la chiave specificata.
Map::Insert Aggiunge la coppia chiave-valore all'oggetto Map corrente.
Map::Lookup Recupera l'elemento in corrispondenza della chiave specificata nell'oggetto Map corrente.
Map::Remove Elimina la coppia chiave-valore specificata dall'oggetto Map corrente.
Map::Size Restituisce il numero di elementi nell'oggetto Map corrente.

Eventi

Nome Descrizione
Evento Map::MapChanged Si verifica quando l'oggetto Map subisce delle modifiche.

Gerarchia di ereditarietà

Map

Requisiti

Intestazione: collection.h

Spazio dei nomi: Platform::Collections

Metodo Map::Clear

Rimuove tutte le coppie chiave-valore dall'oggetto Map corrente.

Sintassi

virtual void Clear();

Metodo Map::First

Restituisce un iteratore che specifica il primo elemento nella mappa o nullptr se la mappa è vuota.

Sintassi

virtual Windows::Foundation::Collections::IIterator<
Windows::Foundation::Collections::IKeyValuePair<K, V>^>^ First();

Valore restituito

Iteratore che specifica il primo elemento nella mappa.

Osservazioni:

Un modo pratico per contenere l'iteratore restituito da First() consiste nell'assegnare il valore restituito a una variabile dichiarata con la parola chiave di deduzione del auto tipo. Ad esempio: auto x = myMap->First();.

Metodo Map::GetView

Restituisce una visualizzazione di sola lettura della mappa corrente; ovvero una classe Platform::Collections::MapView, che implementa l'interfaccia Windows::Foundation::Collections::IMapView<K,V>.

Sintassi

Windows::Foundation::Collections::IMapView<K, V>^ GetView();

Valore restituito

Oggetto MapView.

Metodo Map::HasKey

Determina se l'oggetto Map corrente contiene la chiave specificata.

Sintassi

bool HasKey(K key);

Parametri

key
Chiave usata per individuare l'elemento Map. Il tipo di chiave è typename K.

Valore restituito

true se la chiave viene trovata; in caso contrario, false.

Metodo Map::Insert

Aggiunge la coppia chiave-valore all'oggetto Map corrente.

Sintassi

virtual bool Insert(K key, V value);

Parametri

key
Chiave della coppia chiave-valore. Il tipo di chiave è typename K.

value
Valore della coppia chiave-valore. Il tipo di valore è typename V.

Valore restituito

true se la chiave di un elemento esistente nella mappa corrente corrisponde alla chiave e la parte del valore di tale elemento è impostata su value. false se nessun elemento esistente nella mappa corrente corrisponde alla chiave e i parametri chiave e valore vengono creati in una coppia chiave-valore e quindi aggiunta alla mappa corrente.

Metodo Map::Lookup

Recupera il valore di tipo V associato alla chiave specificata di tipo K, se la chiave esiste.

Sintassi

V Lookup(K key);

Parametri

key
Chiave utilizzata per individuare un elemento in Map. Il tipo di chiave è typename K.

Valore restituito

Valore associato alla chiave. Il tipo del valore restituito è typename V.

Osservazioni:

Se la chiave non esiste, viene generata un'eccezione Platform::OutOfBoundsException .

Costruttore Map::Map

Inizializza una nuova istanza della classe Map.

Sintassi

explicit Map(const C& comp = C());
explicit Map(const StdMap& m);
explicit Map(StdMap&& m ;
template <typename InIt>
Map(
   InItfirst,
   InItlast,
   const C& comp = C());

Parametri

Init
Typename dell'oggetto Map corrente.

comp
Tipo che fornisce un oggetto funzione che può confrontare due valori di elementi come chiavi di ordinamento per determinare l'ordine relativo nella mappa.

m
Riferimento o rvalue a un map Class oggetto utilizzato per inizializzare la mappa corrente.

first
Iteratore di input del primo elemento in un intervallo di elementi utilizzato per inizializzare l'oggetto Map corrente.

last
Iteratore di input del primo elemento dopo un intervallo di elementi utilizzato per inizializzare l'oggetto Map corrente.

Evento Map::MapChanged

Generato quando un elemento viene inserito o rimosso dalla mappa.

Sintassi

event Windows::Foundation::Collections::MapChangedEventHandler<K,V>^ MapChanged;

Valore proprietà/Valore restituito

MapChangedEventHandler <K,V> che contiene informazioni sull'oggetto che ha generato l'evento e il tipo di modifica che si è verificato. Vedere anche Enumerazione IMapChangedEventArgs<K> e CollectionChange.

Equivalente .NET Framework

App di Windows Runtime che usano il progetto C# o Visual Basic IMap<K,V> come IDictionary<K,V>.

Metodo Map::Remove

Elimina la coppia chiave-valore specificata dall'oggetto Map corrente.

Sintassi

virtual void Remove(K key);

Parametri

key
Chiave della coppia chiave-valore. Il tipo di chiave è typename K.

Metodo Map::Size

Restituisce il numero di elementi Windows::Foundation::Collections::IKeyValuePair<K,V> nella mappa.

Sintassi

virtual property unsigned int Size;

Valore restituito

Numero di elementi in Map.

Vedi anche

Raccolte (C++/CX)
Spazio dei nomi della piattaforma
Creazione di componenti Windows Runtime in C++