【问题标题】:What does angle brackets do on class names in C#?尖括号对 C# 中的类名有什么作用?
【发布时间】:2014-09-13 18:36:27
【问题描述】:

例如,我知道您可以如何使用 List<T> 并决定该集合所持有的内容。这就是 T 的用武之地。但我不确定我是否完全理解括号。

如果我创建一个类...

class MyClass<int> { }

或者我可以使用 T 或 object 或 string 或其他什么来代替 int。这意味着什么?它会自动变成一个集合吗?

【问题讨论】:

  • 这是一个泛型类,与集合无关。检查this,如果您有具体问题,请回来。

标签: c# generics collections


【解决方案1】:

泛型类允许类成员使用类型参数。它们的定义方式与泛型方法相同,只是在类名后添加类型参数。

class Point<T>
{
  public T x, y;
}

为了从泛型类中实例化一个对象,使用标准符号,但在两个类名之后都指定了类型参数。请注意,与泛型方法相比,泛型类必须始终使用显式指定的类型参数进行实例化。

Point<short> p = new Point<short>();

参考:http://www.pvtuts.com/csharp/csharp-generics

【讨论】:

  • 希望对您有所帮助!
【解决方案2】:

T 表示类型。如果您使用“MyClass”,MyClass 是一个通用类。更多信息here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-10-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-19
    • 2021-05-03
    • 1970-01-01
    • 1970-01-01
    • 2017-09-01
    相关资源
    最近更新 更多