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é qui est associée à une valeur correspondante avec les méthodes Add, AddOrSetValue ou la propriété Items.
D[..] := V
Vous pouvez retirer des entrées avec Remove ou Clear (suppression de toutes les paires clé-valeur).
L'ajout ou la suppression d'une paire clé-valeur et la recherche d'une clé sont des opérations performantes, proches de O(1), car un système de hachage est appliqué aux clés. Une clé ne doit pas valoir nil (mais une valeur peut être nil), et il doit y avoir une opération de comparaison d'égalité sur 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