有谁能帮我指导如何入门以及需要学习哪些对于集合(非泛型)和泛型来说至关重要的知识?
简单来说:常规集合存储对象。系统不知道存储的是什么类型的对象,因此在使用它们时必须将其转换为所需的类型。泛型集合在创建时声明正在放入哪种对象。然后您总是知道那里有什么。这就像对象数组和字符串数组之间的区别。
我肯定会查看PK发布的页面上的链接列表,以更全面地了解。
我还推荐以下这本书,它几乎涵盖了你在.NET 2.0及以上版本中想要了解的所有关于泛型的细节,包括泛型类、方法、委托和约束条件,以及它们与C++模板的区别和BCL中的泛型。
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));
}
}