在写代码的时候,用到过,不是很明白,请高人指点一下!!!

解决方案 »

  1.   

    泛型是 C# 2.0 的最强大的功能。通过泛型可以定义类型安全的数据结构,而无须使用实际的数据类型。这能够显著提高性能并得到更高质量的代码,因为您可以重用数据处理算法,而无须复制类型特定的代码。在概念上,泛型类似于 C++ 模板,但是在实现和功能方面存在明显差异。本文讨论泛型处理的问题空间、它们的实现方式、该编程模型的好处,以及独特的创新(例如,约束、一般方法和委托以及一般继承)。您还将了解在 .NET Framework 的其他领域(例如,反射、数组、集合、序列化和远程处理)中如何利用泛型,以及如何在所提供的基本功能的基础上进行改进。 
      

  2.   

    泛型是对某个或者某类类通用的类型,可以在将来扩展用
    比如List<T> 如果一般的定义我们需要一个List_int,List_string等等,这样很不方便
    所以我们就用了T来扩展当需要的时候转换为List<int>,List<string>
      

  3.   

    泛型的好处 .NET 中的泛型使您可以重用代码以及在实现它时付出的努力。类型和内部数据可以在不导致代码膨胀的情况下更改,而不管您使用的是值类型还是引用类型。您可以一次性地开发、测试和部署代码,通过任何类型(包括将来的类型)来重用它,并且全部具有编译器支持和类型安全。因为一般代码不会强行对值类型进行装箱和取消装箱,或者对引用类型进行向下强制类型转换,所以性能得到显著提高。对于值类型,性能通常会提高 200%;对于引用类型,在访问该类型时,可以预期性能最多提高 100%(当然,整个应用程序的性能可能会提高,也可能不会提高)。本文随附的源代码包含一个微型基准应用程序,它在紧密循环中执行堆栈。该应用程序使您可以在基于 Object 的堆栈和一般堆栈上试验值类型和引用类型,以及更改循环迭代的次数以查看泛型对性能产生的影响。 
      

  4.   

    http://msdn.microsoft.com/zh-cn/library/512aeb7t(VS.80).aspx
      

  5.   

    msdn:
    http://msdn.microsoft.com/zh-cn/library/ms379564(v=vs.80).aspxLZ想知道还是看书,然后动手。
      

  6.   


    public class YourClass<T>
    {
         ...
    }public class MyClass
    {
       public T GetT<T>()
       {   }
       public S GetS<S>() where S : object
       {   }
    }MyClass mc = new MyClass();string mcStr = mc.GetT<string>();
    int mcInt = mc.GetT<int>();
    char  mcchar = mc.GetS<char>(); // becuz char is object 
      

  7.   

    比如你写了一个实体类是A,那么你在读取数据库的时候读取多条可以使用List<A>保存数据,或者返回类型是List<A>——public List<A> GetA(){}这样可以在三层中做一个专递介质,而不需考虑类型!