list<T>泛型 - TOMMYHU - 专注互联网开发及运营技术,提供相关资料及软件下载,奇趣网络时事评论!
May 7

list<T>泛型 不指定

tommyhu , 11:46 , ASP.NET , Comments(0) , Trackbacks(0) , Reads(7588) , Via Original Large | Medium | Small

泛型(http://www.cnblogs.com/Kenny-Jiang/archive/2007/11/23/970033.html)主要是加入了一个类型参数的概念。这个类型参数可以运用在类,接口,方法,委托等地方。意义是:比如我有一个类,里面有一个成员的类型我不确定。它可能可以是任意类型,在没有泛型的情况下,我们会把这个成员设置成object类型的成员。问题是,在使用这个成员是我需要做类型转换,这样就有性能损失。而泛型可以在编译是根据类型参数的值确定这个成员的类型。比如下面代码
namesapce MyTest
{
  //<T>中的T可以写成任意的名称T不是保留字
  public class TestClass<T>
  {
    T m_Data;//这里T表示m_Data的类型,它将在编译时由其他代码决定
    public TestClass<T>(T data)
    {
      m_Data=data;
    }
  }

  public class TestProgram
  {
     /*下面代码中TestClass类的T参数分别被设置成int,string,object和float,所有用到参数T的地发都将被实际的类型所替代
     */
     public TestClass<int> intData;
     public TestClass<string> stringData;
     public TestClass<object> objectData;
     public TestClass<float> floatData;

     public TestProgram()
     {
       intData=new TestClass<int>(1);
       stringData=new TestClass<string>("Test");
       objectData=new TestClass<object>("someData");
       floatData=new TestClass<float>(1.3f);
     }
  }
}

以上就是泛型最简单的应用。关于list<>的用法和上面相同。不过泛型的类型参数在实际应用中一般是要用where关键字加约束的。具体可以参考msdn

▲返回顶部
Last modified by tommyhu on2012/04/04 19:52

Add a comment

Nickname

emotemotemotemotemotemotemotemotemotemotemotemotemotemotemotemot