程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> Dephi泛型generic的應用

Dephi泛型generic的應用

編輯:Delphi

泛型在C++, C#中已有廣泛應用,Delphi自2009版本也引入泛型,典型的應用如TList,TDictionary。如果你熟悉C#,其用法十分類似。

比如以前Delphi沒有integer list,用泛型,我們可以這樣聲明:

var
  list: TList;
begin
  list := TList.Create;
  list.Add(1);
  list.Add(2);
  list.Add(3);
  list.Items[2] := 8;
  list.Free;
end;

TDictionary類是一個name,value容器,內部是哈希索引,所以對於數據查找非常高效,如下面的代碼:

var
  Dict: TDictionary;
begin
  Dict := TDictionary.Create;
  Dict.Add('key1', 'value1');
  Dict.Add('key2', 'value2');
  if not Dict.ContainsKey('key3') then
    Dict.Add('key3','value3');
  Dict.Free;
end;

上面的代碼中name和value都是string類型,實際應用中可以用其它的類型比如integer,double之類

因為Object Pascal沒有垃圾收集,所以對應的每種泛型類都有一個對應引用類型實現,比如TObjectList,TObjectDictionary,這些類實現中, 當刪除元素時會自動幫你釋放對象。

上面的TList和TDictionary在Generics.Collections單元,有興趣可以研究一下代碼。除了已有的泛型類之外,你可以編寫自己的泛型類,感興趣的朋友可以google相關文章。

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