C#面向对象之泛型

泛型概述

泛型可将类型参数化,以达到代码的复用性,提高开发效率和代码的灵活性,泛型类是应用类型,是堆对象。泛型允许在定义数据类型的时候不事先指定其具体类型,在调用的时候才被确定。

泛型类

程序员可以将一个类定义为一个泛型类,只需在类型的后面加个‘’,其中‘T’指的是要被传入的数据类型

1
2
3
4
5
6
7
8
9
10
11
12
public class Student<T>
{
//定义的时候不指定其数据类型
public T tests;
}

static void Main(string[] args)
{
//调用Student类
Student<int> stu=new Student<int>();//尖括号里传入数据类型,然后tests的数据类型就是传入的数据类型

}

泛型方法

和泛型类一样,在方法的后面加一对‘

1
2
3
4
5
6
7
8
9
10
11
12
13
//顶一个方法计算两个变量的和,如果是数字,则计算和,是字符串则拼接这两个字符串
public static void Add<T>(T a,T b)
{
Console.WriteLine(a+b);
}

static void Main(string[] args)
{
//计算两个数字的和
Add<int>(1,2);
//拼接字符串
Add<string>("abc","def");
}

泛型集合List

List和ArratList的使用方式大致相同,只不过是List在定义的时候要确定要被存储的数据类型,ArrayList则什么数据类型的对象都可以存入,所以List在获取元素的时候不需要强制转换,提高了类型的安全性

泛型字典集合Dictionary<K,V>

同样的,Dictionary<K,V>的使用方式和Hashtable<K,V>的使用方式大致一样,Dictionary<K,V>在存入值和键的时候要指定其具体数据类型

悠哉码农的日常 wechat
扫一扫上面的微信公众号
坚持原创技术分享,谢谢你为我充电