什么是学习泛型的好资源?

时间:2009-08-23 13:43:57

标签: c# generics collections

任何人都可以帮助我从哪里开始,有关集合(非泛型)和泛型的基本知识是什么?

4 个答案:

答案 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)