IMap<K,V> Interface
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Représente une collection associative, également appelée carte ou dictionnaire.
.NET Cette interface apparaît dans le code .NET sous la forme System.Collections.Generic.IDictionary<TKey,TValue> en raison de la projection du langage .NET. Dans tous les cas où un type Windows Runtime a implémenté IMap<K,V>, le code .NET peut utiliser les API de IDictionary<TKey,TValue> à la place.
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))
Paramètres de type
- K
- V
- Attributs
- Implémente
-
IIterable<IKeyValuePair<K,V>> IEnumerable<KeyValuePair<K,V>>
Configuration requise pour Windows
Famille d’appareils |
Windows 10 (introduit dans 10.0.10240.0)
|
API contract |
Windows.Foundation.FoundationContract (introduit dans v1.0)
|
Remarques
Lors de la programmation avec .NET, cette interface est masquée et les développeurs doivent utiliser l’interface System.Collections.Generic.IDictionary<TKey,TValue> s’ils veulent implémenter un type map/dictionary. Dans tous les cas où un type Windows Runtime a implémenté IMap<K,V>, le code .NET peut utiliser les API de IDictionary<TKey,TValue> à la place. Cela inclut toutes les API Windows Runtime existantes, ainsi que des scénarios tels que l’utilisation des API de Windows Runtime composants implémentés à l’origine dans les extensions de composants Visual C++ (C++/CX) à partir d’une application C# ou Visual Basic.
L’interface IMap<K,V> représente une collection de paires clé-valeur où une valeur est accessible par sa clé associée. Les propriétés et méthodes d’IMap<K,V> prennent en charge les fonctionnalités de type dictionnaire, telles que l’obtention de la taille de la collection et l’ajout et la suppression d’éléments à des emplacements spécifiés dans la collection. En outre, la méthode GetView fournit une instantané de la carte dont l’état observable ne change pas. Le instantané est utile lorsque vous avez besoin d’une vue de la collection à laquelle faire référence dans les opérations suivantes qui impliquent IMap<K,V>.
Fonctions d’extension C++/WinRT
Notes
Des fonctions d’extension existent sur les types de projection C++/WinRT pour certaines API Windows Runtime. Par exemple, winrt ::Windows ::Foundation ::IAsyncAction est le type de projection C++/WinRT pour IAsyncAction. Les fonctions d’extension ne font pas partie de la surface d’interface binaire d’application (ABI) des types Windows Runtime réels. Elles ne sont donc pas répertoriées en tant que membres des API Windows Runtime. Mais vous pouvez les appeler à partir de n’importe quel projet C++/WinRT. Consultez Fonctions C++/WinRT qui étendent Windows Runtime API.
auto begin() const;
Retourne un itérateur à la première paire clé-valeur de la collection, à utiliser dans des algorithmes C++, tels que des boucles basées sur for
une plage.
auto end() const;
Retourne un itérateur à un passé de la dernière paire clé-valeur de la collection, à utiliser dans des algorithmes C++, tels que des boucles basées sur for
une plage.
auto TryLookup(param_type<K> const& key) const;
Tente de rechercher un élément dans la carte avec la clé. Pour les types de référence, retourne la valeur si elle est trouvée ou nullptr
si elle n’est pas trouvée. Pour les types valeur, retourne une valeur std ::optional<V>, qui contient la valeur si elle est trouvée, ou qui n’a aucune valeur si elle n’est pas trouvée.
bool TryRemove(param_type<K> const& key) const;
Supprime l’élément dans la carte avec la clé, le cas échéant. Retourne true
si l’élément a été trouvé et supprimé. Retourne false
si l’élément est introuvable.
Héritage de l'interface
IMap<K,V> hérite d’IIterable, à l’aide d’une contrainte IKeyValuePair qui utilise les mêmes types de clé et de valeur. Les types qui implémentent IMap<K,V> implémentent également les membres d’interface d’IIterable, avec la contrainte de type IKeyValuePair partageant la même clé et la même valeur. De même, si vous utilisez .NET, il existe une prise en charge de IEnumerabe<T>, avec son type de contrainte en tant que KeyValuePair qui utilise les mêmes types de clé et de valeur que l’implémentation IDictionary<TKey,TValue> .
Propriétés
Size |
Obtient le nombre d’éléments dans la carte. |
Méthodes
Clear() |
Supprime tous les éléments de la carte. |
GetView() |
Retourne une vue immuable de la carte. |
HasKey(K) |
Détermine si la carte contient la clé spécifiée. |
Insert(K, V) |
Insère ou remplace un élément dans la carte. |
Lookup(K) |
Retourne l’élément à la clé spécifiée dans la carte. |
Remove(K) |
Supprime un élément de la carte. |