IMap<K,V> Schnittstelle
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt eine assoziative Auflistung dar, die auch als Karte oder ein Wörterbuch bezeichnet wird.
.NETTO Diese Schnittstelle wird für .NET-Code aufgrund der .NET-Sprachprojektionierung als System.Collections.Generic.IDictionary<TKey,TValue> angezeigt. In jedem Fall, wenn ein Windows-Runtime-Typ IMap<K,V> implementiert hat, kann .NET-Code stattdessen die APIs von IDictionary<TKey,TValue> verwenden.
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))
Typparameter
- K
- V
- Attribute
- Implementiert
-
IIterable<IKeyValuePair<K,V>> IEnumerable<KeyValuePair<K,V>>
Windows-Anforderungen
Gerätefamilie |
Windows 10 (eingeführt in 10.0.10240.0)
|
API contract |
Windows.Foundation.FoundationContract (eingeführt in v1.0)
|
Hinweise
Beim Programmieren mit .NET ist diese Schnittstelle ausgeblendet, und Entwickler sollten die System.Collections.Generic.IDictionary<TKey,TValue-Schnittstelle> verwenden, wenn sie einen Zuordnungs-/Wörterbuchtyp implementieren möchten. In jedem Fall, wenn ein Windows-Runtime-Typ IMap<K,V> implementiert hat, kann .NET-Code stattdessen die APIs von IDictionary<TKey,TValue> verwenden. Dies umfasst alle vorhandenen Windows-Runtime-API sowie Szenarien wie die Verwendung der APIs von Windows-Runtime Komponenten, die ursprünglich in Visual C++-Komponentenerweiterungen (C++/CX) aus einer C#- oder Visual Basic-App implementiert wurden.
Die IMap<K,V-Schnittstelle> stellt eine Sammlung von Schlüssel-Wert-Paaren dar, auf die mit dem zugeordneten Schlüssel auf einen Wert zugegriffen werden kann. Eigenschaften und Methoden von IMap<K,V> unterstützen wörterbuchartige Funktionen, z. B. das Abrufen der Größe der Auflistung und das Hinzufügen und Entfernen von Elementen an angegebenen Speicherorten in der Auflistung. Darüber hinaus stellt die GetView-Methode eine Momentaufnahme der Karte bereit, deren beobachtbarer Zustand sich nicht ändert. Die Momentaufnahme ist nützlich, wenn Sie eine Ansicht der Auflistung benötigen, auf die in nachfolgenden Vorgängen verwiesen werden soll, die IMap<K,V> umfassen.
C++/WinRT-Erweiterungsfunktionen
Hinweis
Erweiterungsfunktionen sind für die C++/WinRT-Projektionstypen für bestimmte Windows-Runtime-APIs vorhanden. Winrt::Windows::Foundation::IAsyncAction ist beispielsweise der C++/WinRT-Projektionstyp für IAsyncAction. Die Erweiterungsfunktionen sind nicht Teil der ABI-Oberfläche (Application Binary Interface) der tatsächlichen Windows-Runtime-Typen, daher werden sie nicht als Member der Windows-Runtime-APIs aufgeführt. Sie können sie jedoch in jedem C++/WinRT-Projekt aufrufen. Weitere Informationen finden Sie unter C++/WinRT-Funktionen, die Windows-Runtime-APIs erweitern.
auto begin() const;
Gibt einen Iterator für das erste Schlüssel-Wert-Paar der Auflistung zur Verwendung in C++-Algorithmen zurück, z. B. bereichsbasierte for
Schleifen.
auto end() const;
Gibt einen Iterator nach dem letzten Schlüssel-Wert-Paar der Auflistung für die Verwendung in C++-Algorithmen zurück, z. B. bereichsbasierte for
Schleifen.
auto TryLookup(param_type<K> const& key) const;
Versucht, ein Element in der Karte mit dem Schlüssel nachzuschlagen. Gibt für Verweistypen den Wert zurück, wenn er gefunden oder nullptr
nicht gefunden wurde. Für Werttypen gibt eine std::optional<V> zurück, die den Wert enthält, wenn sie gefunden wurde, oder keinen Wert hat, falls nicht gefunden.
bool TryRemove(param_type<K> const& key) const;
Entfernt das Element in der Karte mit dem Schlüsselschlüssel, falls vorhanden. Gibt zurück true
, wenn das Element gefunden und entfernt wurde. Gibt zurück false
, wenn das Element nicht gefunden wurde.
Schnittstellenvererbung
IMap<K,V> erbt IIterable unter Verwendung einer IKeyValuePair-Einschränkung , die denselben Schlüssel- und Werttyp verwendet. Typen, die IMap<K,V> implementieren, implementieren auch die Schnittstellenmember von IIterable, wobei die IKeyValuePair-Typeinschränkung denselben Schlüssel und Wert gemeinsam nutzen. Auf ähnliche Weise wird bei Verwendung von .NET IEnumerabe<T> unterstützt, dessen Einschränkungstyp als KeyValuePair denselben Schlüssel- und Werttyp verwendet wie die IDictionary<TKey,TValue-Implementierung> .
Eigenschaften
Size |
Ruft die Anzahl der Elemente in der Karte ab. |
Methoden
Clear() |
Entfernt alle Elemente aus der Karte. |
GetView() |
Gibt eine unveränderliche Ansicht der Karte zurück. |
HasKey(K) |
Bestimmt, ob die Karte den angegebenen Schlüssel enthält. |
Insert(K, V) |
Fügt ein Element in der Karte ein oder ersetzt es. |
Lookup(K) |
Gibt das Element am angegebenen Schlüssel in der Karte zurück. |
Remove(K) |
Entfernt ein Element aus der Karte. |