【发布时间】:2012-11-23 09:23:33
【问题描述】:
谁能帮我从哪里开始?了解集合(非泛型)和泛型的基本知识是什么?
【问题讨论】:
标签: c# generics collections
谁能帮我从哪里开始?了解集合(非泛型)和泛型的基本知识是什么?
【问题讨论】:
标签: c# generics collections
我还推荐以下书籍,其中包含您可能想要的关于 .NET 2.0 及以后的泛型的所有详细信息,包括泛型类、方法、委托和约束,它们与 C++ 模板的区别,以及 BCL 中的泛型.
【讨论】:
简单解释一下:常规集合存储对象。系统不知道存储了什么样的对象,因此在使用它们时必须将它们转换为所需的类型。泛型集合声明在您创建对象时放入的对象类型。然后你总是知道那里有什么。这就像对象数组和字符串数组的区别。
我肯定会查看 PK 发布的页面上的链接列表,以便更全面地了解。
【讨论】:
1) 可以使用泛型类型定义类。
public class MyClass<TClass>
2) 可以使用此语法限制类型。
where TClass: struct
3) 方法也可以给出泛型类型。
public TMethod ConvertTo<TMethod>()
4) 完整示例
public class MyClass<TClass> where TClass: struct
{
private TClass _Instance;
public MyClass(TClass instance)
{
_Instance = instance;
}
public TMethod ConvertTo<TMethod>()
{
return (TMethod)Convert.ChangeType(_Instance, typeof(TMethod));
}
}
【讨论】: