• 详测 Generics Collections TDictionary(2): ContainsKey、ContainsValue、AddOrSetValue、TryGetValue


    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.
    
  • 相关阅读:
    爬虫之四种数据解析方式
    爬虫之爬虫概述
    <转载>面试官,不要再问我三次握手和四次挥手
    <转载>面试官: 讲讲MySql表设计需要注意什么?
    HTTP协议的特点
    Django之FORM
    Django之ajax
    csrf的中间件
    Django之中间件
    删除/tmp目录下txt文件
  • 原文地址:https://www.cnblogs.com/del/p/1580938.html
Copyright © 2020-2023  润新知