在仿制药中使用'T'有什么理由吗?它是某种缩写吗?据我所知,一切正常。例如
public G Say<G>(){ ... }
甚至
public Hello Say<Hello>(){ ... }
答案 0 :(得分:31)
T代表 T ype。但它实际上只是一种传统,没有什么可以阻止你使用其他名称。例如,通用词典使用<TKey, TValue>
。
如果您有一个类型参数,还有Microsoft guideline建议使用字母 T ,如果您有 T ,则建议使用描述性参数名称作为前缀超过一个。这样做可以为您的代码提供更加一致的感觉。
答案 1 :(得分:8)
T代表, 就像你说的一切都很好。但是把T放在那个位置会提醒你这是一般的类型。
答案 2 :(得分:7)
这只是一种简写,就像我常用于.NET中的接口一样,在其他环境中,C有时用于类(Delphi使用它,IIRC)。
一般来说,“T”本身意味着“此上下文中的单一类型参数”,如果您有多个类型参数,则它们会获得一个T前缀,例如: Dictionary<TKey, TValue>
。它只是在您阅读代码时显而易见,它是一个类型参数而不是特定的具体类型。
答案 3 :(得分:4)
答案 4 :(得分:2)
由于C ++模板大多数时间都使用T,因此也可能有一些传统,当用于泛型编程时,泛型在功能上与C ++的模板类似。
答案 5 :(得分:1)
如果你的泛型类型代表一些特殊的东西,你可以使它更精确。通常在它前面添加T:IRepository<TEntity>, SomeCollection<TItem, TComparer>
..
答案 6 :(得分:0)
T for Type
此外,E也用于非常常见的Element。你是对的G也有效。
答案 7 :(得分:0)
我认为这是T for Template,因为它首先出现在C ++中。