泛型

1、位于System.Collections.Generic命名空间中。

2、类:

Dictionary<TKey,TValue> 名/值对

List<T> 动态改变大小的顺序列表

LinkedList<T> 双向链表

Quene<T> 先入先出(FIFO)

SortedDictionary<TKey,TValue> 排序的名称/值对集合

SortedSet<T> 排序不重复对象集合

Stack<T>  先入后出(LIFO)

3、集合初始化语法(只能对支持Add()方法的类使用)

    List<int> intList= new List<int> {0,1,2,3};

4、创建自定义泛型方法

static void Swap<T> (ref T a, ref T b)
{
      T temp;
      temp=a;
      a=b;
      b=temp;
}

使用泛型方法

int a=10, b=20;
Swap<int> (ref a ,ref b);

类型推断  (虽,但仍建议养成显式指定类型参数的习惯)

int a=10, b=20;
Swap (ref a ,ref b); //省去了<int>

5、泛型代码中的default关键字

除在switch中有,设置泛型中不确定类型默认值很有意义

//和泛型一起使用时,表示一个类型参数的默认值
public void RestValue()
{
     X=default(T);
     Y=default(T);
}

6、泛型基类

    派生类指定类型参数、派生类也是泛型时可重用类型占位符(可选的)

7、类型参数约束(where)

posted on 2017-03-19 22:46  儿时精神  阅读(134)  评论(0)    收藏  举报

导航