API:System.Bindings.EvalProtocol.TWrapperDictionary
Delphi
TWrapperDictionary = class(TDictionary<IInterface, Pointer>)
C++
class PASCALIMPLEMENTATION TWrapperDictionary : public System::Generics::Collections::TDictionary__2<System::_di_IInterface,void *>
Sommaire
Propriétés
Type | Visibilité | Source | Unité | Parent |
---|---|---|---|---|
class | public | System.Bindings.EvalProtocol.pas System.Bindings.EvalProtocol.hpp |
System.Bindings.EvalProtocol | System.Bindings.EvalProtocol |
Description
Collection de paires clé-valeur.
System.Bindings.EvalProtocol.TWrapperDictionary hérite de System.Generics.Collections.TDictionary. Tout le contenu en-dessous de cette ligne se réfère à System.Generics.Collections.TDictionary.
Collection de paires clé-valeur.
TDictionary représente une collection générique de paires clé-valeur.
Cette classe fournit un mappage d'une collection de clés sur une collection de valeurs. Lorsque vous créez un objet TDictionary, vous pouvez spécifier ces paramètres en tant que capacité initiale, opération d'égalité et contenu initial.
Vous pouvez ajouter une clé associée à une valeur correspondante avec la méthode Add ou AddOrSetValue. Vous pouvez retirer des entrées avec Remove ou Clear, ce qui retire toutes les paires clé-valeur. L'ajout ou la suppression d'une paire clé-valeur et la recherche d'une clé sont performantes, proches de O(1), car les clés sont hachées. Une clé ne doit pas être à nil (bien qu'une valeur puisse être à nil) et il doit y avoir une opération de comparaison d'égalité pour les clés.
Vous pouvez tester la présence de clés et de valeurs avec les méthodes TryGetValue, ContainsKey et ContainsValue.
La propriété Items liste toutes les entrées du dictionnaire. Vous pouvez aussi définir et obtenir les valeurs en indexant la propriété Items. Définir la valeur de cette façon redéfinit toute valeur existante.
La classe TObjectDictionary hérite de TDictionary et fournit un mécanisme automatique de libération des objets retirés des entrées du dictionnaire.
Méthodes d'accès
Cette section récapitule les méthodes relatives à la lecture et l'écriture de TDictionary ou TObjectDictionary, y compris l'effet des clés dupliquées lors de l'écriture ou la clé non trouvée lors de la lecture.
Write
Méthode | Type d'index | Type de valeur | En cas de clé dupliquée |
---|---|---|---|
Add | TKey | TValue | Exception |
AddOrSetValue | TKey | TValue | Ecrasement |
Items | TKey | TValue | Ecrasement |
TryAdd | TKey | TValue | false |
Read
Méthode | Type d'index/type d'entrée | Type de résultat | Si la clé n'est pas trouvée | Remarques |
---|---|---|---|---|
ContainsKey | TKey | Booléen | false | True = trouvée |
ContainsValue | TValue | Booléen | n/d | True = trouvée |
ExtractPair | TKey | TPair | Paire par défaut | Renvoie TPair, supprime l'élément du dictionnaire |
Items | TKey | TValue | Exception | Utilisez TryGetValue pour éviter l'exception. |
opérateur [] | TKey | TValue | Exception | C++ uniquement |
Keys | n/d | TKeyCollection | n/d | |
ToArray | n/d | TArray<TPair<TKey,TValue>> | n/d | |
TryGetValue | TKey | TValue, booléen | default, false | Renvoie TValue |
Values | n/d | TValueCollection | n/d |
Iteration
Vous trouverez ci-dessous des exemples de code utilisant l'itération dans le contenu du dictionnaire.
Delphi
uses System.Generics.Collections;
procedure TForm1.Button1Click(Sender: TObject);
var
MyDict: TDictionary<string, TForm>;
begin
MyDict:= TDictionary<string, TForm>.Create;
try
MyDict.Add('Form1', Self);
for var Enum in MyDict do
ShowMessage(Enum.Key);
finally
MyDict.Free;
end;
end;
C++
#include <memory>
#include <system.Generics.Collections.hpp>
void __fastcall TForm2::Button1Click(TObject *Sender)
{
std::unique_ptr<TDictionary__2<String, String>>
strdict(new TDictionary__2<String, String>());
strdict->Add("Form1", "A Value");
for(const TPair__2<String,String> &pair: strdict.get()) {
ShowMessage(pair.Value);
}
}
Voir aussi
- Data.DBXCommon.TKey
- System.Rtti.TValue
- System.Generics.Collections.TDictionary.TKeyCollection
- System.Generics.Collections.TDictionary.TValueCollection
- System.Generics.Collections.TObjectDictionary
- System.Generics.Collections.TDictionary.Count
- System.Generics.Collections.TDictionary.Items
- System.Generics.Collections.TDictionary.Add
- System.Generics.Collections.TDictionary.AddOrSetValue
- System.Generics.Collections.TDictionary.Clear
- System.Generics.Collections.TDictionary.ContainsKey
- System.Generics.Collections.TDictionary.ContainsValue
- System.Generics.Collections.TDictionary.Remove
- System.Generics.Collections.TDictionary.TryGetValue
- System.Generics.Collections.TDictionary.TryAdd