• 泛型是什么
○ 泛型实现了类型参数化,达到代码重用的目的。
○ 通过类型参数化来实现同一份代码上操作多种类型
○ 泛型 T 相当于类型占位符
○ 定义类或者方法时使用替代符代表变量类型
○ 当真正使用类或者方法时才具体指定类型
• 泛型的作用
○ 不同类型对象的相同逻辑处理就可以选择泛型
• 泛型的分类
○ 泛型类和泛型接口
○ 基本语法:
§ class 类名<泛型占位字母>
§ Interface 接口名<泛型占位字母>
○ 继承类或实现接口时需要指明类型(不能再用泛型占位字母)
○ 泛型函数
○ 基本语法:函数返回类型 函数名<泛型占位字母> (参数列表) //参数类型和返回值类型都可以是泛型,泛型占位字母可以是多个,用逗号隔开
using System;
namespace 泛型
{
class TestClass<T, T1>
{
public T value;
public T1 value1;
public void Func<T, T1> (T value, T1 value1) {
}
class Program
{
static void Func<T> (T value)
{
Console.WriteLine (value);
}
static void Main (string[] args)
{
TestClass<int, float> t1 = new TestClass<int, float> ();
t1.value = 10;
t1.value1 = 3.14f;
Console.WriteLine (t1.value + " " + t1.value1);
TestClass<char, string> t2 = new TestClass<char, string> ();
t2.value = 'A';
t2.value1 = " Hello World";
Console.WriteLine (t2.value + t2.value1);
Func (10);
Func ("qwert");
}
}
}