程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> 詳測 Generics Collections TDictionary(3): TPairEnumerator、TKeyEnumerator、TValueEnumerator、ExtractPair

詳測 Generics Collections TDictionary(3): TPairEnumerator、TKeyEnumerator、TValueEnumerator、ExtractPair

編輯:Delphi

//這組功能沒有多少實用價值 
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>; 
 ds: TDictionary<string,Integer>.TPairEnumerator; 
 ks: TDictionary<string,Integer>.TKeyEnumerator; 
 vs: TDictionary<string,Integer>.TValueEnumerator; 
begin 
 Dictionary := TDictionary<string,Integer>.Create(); 
 
 Dictionary.Add('n1', 111); 
 Dictionary.Add('n2', 222); 
 Dictionary.Add('n3', 333); 
 
 
 ds := Dictionary.GetEnumerator; 
 while ds.MoveNext do ShowMessageFmt('%s:%d', [ds.Current.Key, ds.Current.Value]); 
 {n2:222 n3:333 n1:111} 
 
 ks := Dictionary.Keys.GetEnumerator; 
 while ks.MoveNext do ShowMessageFmt('%s', [ks.Current]); 
 {n2 n3 n1} 
 
 vs := Dictionary.Values.GetEnumerator; 
 while vs.MoveNext do ShowMessageFmt('%d', [vs.Current]); 
 {222 333 111}   
 
 { ExtractPair 應是提取元素, 但它的返回值有些問題; 該函數源碼有待修改 } 
 Dictionary.ExtractPair('n1'); 
 ShowMessage(IntToStr(Dictionary.Count)); {2} 
  
 Dictionary.Free; 
end; 
 
end. 


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved