unit
Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class (TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
end ;
var
Form1: TForm1;
implementation
{ $R *.dfm }
uses Generics.Collections;
procedure TForm1.Button1Click(Sender: TObject);
var
Dictionary: TDictionary < string ,Integer > ;
b: Boolean;
T: Integer;
begin
Dictionary : = TDictionary < string ,Integer > .Create();
{ 添加 }
Dictionary.Add( ' n1 ' , 111 );
Dictionary.Add( ' n2 ' , 222 );
Dictionary.Add( ' n3 ' , 333 );
{ 判断指定的 Key 是否存在 }
b : = Dictionary.ContainsKey( ' n1 ' );
ShowMessage(BoolToStr(b, True)); { True }
b : = Dictionary.ContainsKey( ' n4 ' );
ShowMessage(BoolToStr(b, True)); { False }
{ 判断指定的 Value 是否存在 }
b : = Dictionary.ContainsValue( 111 );
ShowMessage(BoolToStr(b, True)); { True }
b : = Dictionary.ContainsValue( 999 );
ShowMessage(BoolToStr(b, True)); { False }
{ 使用 AddOrSetValue 时, 如果 Key 存在则替换值; 此时如果用 Add 将发生异常 }
Dictionary.AddOrSetValue( ' n1 ' , 123 );
ShowMessage(IntToStr(Dictionary[ ' n1 ' ])); { 123 }
{ 使用 AddOrSetValue 时, 如果 Key 不存在则同 Add }
Dictionary.AddOrSetValue( ' n4 ' , 444 );
ShowMessage(IntToStr(Dictionary[ ' n4 ' ])); { 444 }
{ 尝试取值 }
if Dictionary.TryGetValue( ' n2 ' , T) then
ShowMessage(IntToStr(T)); { 222 }
Dictionary.Free;
end ;
end .
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class (TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
end ;
var
Form1: TForm1;
implementation
{ $R *.dfm }
uses Generics.Collections;
procedure TForm1.Button1Click(Sender: TObject);
var
Dictionary: TDictionary < string ,Integer > ;
b: Boolean;
T: Integer;
begin
Dictionary : = TDictionary < string ,Integer > .Create();
{ 添加 }
Dictionary.Add( ' n1 ' , 111 );
Dictionary.Add( ' n2 ' , 222 );
Dictionary.Add( ' n3 ' , 333 );
{ 判断指定的 Key 是否存在 }
b : = Dictionary.ContainsKey( ' n1 ' );
ShowMessage(BoolToStr(b, True)); { True }
b : = Dictionary.ContainsKey( ' n4 ' );
ShowMessage(BoolToStr(b, True)); { False }
{ 判断指定的 Value 是否存在 }
b : = Dictionary.ContainsValue( 111 );
ShowMessage(BoolToStr(b, True)); { True }
b : = Dictionary.ContainsValue( 999 );
ShowMessage(BoolToStr(b, True)); { False }
{ 使用 AddOrSetValue 时, 如果 Key 存在则替换值; 此时如果用 Add 将发生异常 }
Dictionary.AddOrSetValue( ' n1 ' , 123 );
ShowMessage(IntToStr(Dictionary[ ' n1 ' ])); { 123 }
{ 使用 AddOrSetValue 时, 如果 Key 不存在则同 Add }
Dictionary.AddOrSetValue( ' n4 ' , 444 );
ShowMessage(IntToStr(Dictionary[ ' n4 ' ])); { 444 }
{ 尝试取值 }
if Dictionary.TryGetValue( ' n2 ' , T) then
ShowMessage(IntToStr(T)); { 222 }
Dictionary.Free;
end ;
end .