任何人都可以帮助我从哪里开始,有关集合(非泛型)和泛型的基本知识是什么?
答案 0 :(得分:3)
有一个非常简短的解释:常规集合存储对象。系统不知道存储了哪种对象,因此在使用它们时必须将它们转换为所需的类型。通用集合声明在创建它时放入什么类型的对象。然后你总是知道那里有什么。它就像一个对象数组和一个String数组之间的区别。
我肯定会查看PK页面上的链接列表,以便更全面地了解。
答案 1 :(得分:3)
我还推荐以下一本书,其中包含您在.NET 2.0以上的Generics中可能需要的所有细节,包括通用类,方法,委托和约束,它们与C ++模板的区别以及BCL中的泛型
答案 2 :(得分:2)
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));
}
}
答案 3 :(得分:1)