【问题标题】:What are good resources for learning about generics? [closed]什么是学习泛型的好资源? [关闭]
【发布时间】:2012-11-23 09:23:33
【问题描述】:

谁能帮我从哪里开始?了解集合(非泛型)和泛型的基本知识是什么?

【问题讨论】:

    标签: c# generics collections


    【解决方案1】:

    我还推荐以下书籍,其中包含您可能想要的关于 .NET 2.0 及以后的泛型的所有详细信息,包括泛型类、方法、委托和约束,它们与 C++ 模板的区别,以及 BCL 中的泛型.

    【讨论】:

      【解决方案2】:

      简单解释一下:常规集合存储对象。系统不知道存储了什么样的对象,因此在使用它们时必须将它们转换为所需的类型。泛型集合声明在您创建对象时放入的对象类型。然后你总是知道那里有什么。这就像对象数组和字符串数组的区别。

      我肯定会查看 PK 发布的页面上的链接列表,以便更全面地了解。

      【讨论】:

        【解决方案3】:

        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));
            }
        }
        

        【讨论】:

        • 这是开始泛型的一个很好的例子,但是否应该鼓励它重新发明轮子,有这么多解释?
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2010-09-18
        • 2010-12-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-11-20
        • 2010-11-25
        相关资源
        最近更新 更多