我有一个VB背景,我正在为我的新工作转换为C#.我也试图在.NET上做得更好.我已经看到关键字"T"在人们发布的样本中使用了很多.C#中的"T"是什么意思?例如:
public class SomeBasewhere T : SomeBase , new()
怎么T
办?我为什么要使用它?
它是泛型类型参数的符号.它也可能是其他东西,例如:
public class SomeBasewhere GenericThingy : SomeBase , new()
只有T是Microsoft使用和鼓励的默认值.
T不是关键字本身,而是泛型类型的占位符.请参阅Microsoft的泛型简介
等效的VB.Net语法是:
Public Class SomeBase(Of T As {Class, New}))
用于代替T的另一个名称的一个很好的例子would
是哈希表类,例如
public class Dictionary...
凡K
代表重点和V
对价值.我认为T
代表类型.
你可能已经看过这个了.如果你可以建立连接,它应该是相当有用的.
这将是一个"通用".正如人们已经提到的那样,微软对这个概念有一个解释.至于为什么"T" - 看到这个问题.
简而言之,它允许您创建专门用于特定类型的类/方法.一个经典的例子是System.Collections.Generic.List
班级.它是相同的System.Collections.ArrayList
,除了它允许您只存储类型的项目T
.这提供了类型安全性 - 您不能(意外或以其他方式)将错误类型的项目放入列表中.该System.Collections.Generic
命名空间包含几个不同的集合类型,其利用了这一点.
至于你可以在哪里使用它 - 这取决于你.有许多用例不时出现.大多数情况下它是某种自制的系列(当内置的系列不够时),但它确实可以是任何东西.