类名后面的尖括号在变量声明中意味着什么?

时间:2012-03-21 08:57:51

标签: delphi syntax

我已经在Delphi中编程了一段时间,但我从未遇到过我在SO上的问题中找到的语法。有这样的语法:

var Dic: TDictionary<Integer,string>;

我从未见过<type, type>。这是什么意思?何时何地可以使用?我什么也没找到,因为Google省略了像'&lt;','&gt;'这样的字符。

2 个答案:

答案 0 :(得分:7)

这是用于泛型的语法。泛型允许您按类型定义参数化的类。

您可以在Delphi documentation中阅读所有相关信息。您还可以找到有用的Wikipedia页面。它更全面地概述了泛型编程的概念。

答案 1 :(得分:6)

在许多语言中,它通常是映射或模板实例化,Delphi称这些泛型,并且可以看到声明它们的示例here

type
  TPair<Tkey,TValue> = class   // TKey and TValue are type parameters
    FKey: TKey;
    FValue: TValue;
    function GetValue: TValue;
  end;

function TPair<TKey,TValue>.GetValue: TValue;
begin
  Result := FValue;
end;

您的特定示例定义的是将整数映射到字符串的字典。