泛型:generic,使用 "延迟声明" 可以让参数在使用时,再去确定它的类型,让很多重复操作可以集中处理。
简单的例子,我们要判断一个参数的数据类型,可以列举出很多种:
void TypeIsInt(int ival)
{
Console.WriteLine("类型是:{0}", iVal.GetType());
}
void TypeIsString(string sval)
.........
.........
这些大家都会写,也有会去写数据类型基类 object 的,这样也是很好的,但是,这些都是在我们确定声明了以后,才去调用的,而泛型是可以让我们提前预设占位符,在使用的时候,再去声明。
void Show<T>(T tval)
{
Console.WriteLine("类型是:{0}", tVal.GetType());
}
- 这个 T 只是个占位符号,换成别的也一样,只不过是官方推荐使用的字符而已,不要过分纠结,按照这个规则写的话,别人会比较容易看懂。
- 调用时看你心情来,我这里以 int为例子:
Generic.Show<int>(1); Generic.Show(1);
这两种都可以,后面的虽然没写明类型,编译器会自己去推算,算出来也是int,个人比较建议用第一种,结构清晰,可读性强。
泛型的基础知识,无他。