如果在一个类的声明中,想定义一个数组成员变量。数组的类型设计是可变,但是对数组的操作,基本是不变的。那么可以在类名后面用<>传递一个T参数,这个T代表类型。然后在定义类的时候,尽情地使用T。在实例化的时候,将T用一个确定的类型代替就可以了。
/*
* Created by SharpDevelop.
* User: Administrator
* Date: 2016/11/15
* Time: 5:01
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Collections.Generic;
namespace GenericDemo
{
class Queue<T>{
public T[] array = new T[10];
}
class Program {
public static void Main(string[] args)
{
Console.WriteLine("Hello World!");
Queue<int> myQueue = new Queue<int>();
int i;
for(i=0;i<10;i++)
Console.WriteLine(myQueue.array[i]);
Queue<string> myQueue1 = new Queue<string>();
for(i=0;i<10;i++)
Console.WriteLine(myQueue1.array[i]);
Console.Write("Press any key to continue . . . ");
Console.ReadKey(true);
}
}
}
上面这段代码,显示了generic的用法。它的思想蛮简洁的。 一说就懂。关键是记住几个语法点。1. classname<T>,记住类型替代符 的格式,什么括号 2.在实例化的时候,出现classname的地方都要带T,单纯的classname是不完备的。