C#泛型有什么好处
来源: 阅读:1981 次 日期:2015-02-04 15:36:57
温馨提示: 小编为您整理了“C#泛型有什么好处”,方便广大网友查阅!

关于object类型:

1.object类型可以来引用任何类型的实例;

2.object类型可以存储任何类型的值;

3.可以定义object类型的参数;

4.可以把object作为返回类型。

但是--这样做有很大的问题

1.会因为程序员没有记住使用的类型而出错,造成类型不兼容;

2.值类型和引用类型的互化即装箱拆箱使系统性能下降。

C#2.0提出的泛型就是避免强制类型转换,减少装箱拆箱提高性能,减少错误。

System.Collections.Generic命名空间提供许多集合类和接口的泛型版本。

定义:

public class GenericList<T>

{

public void Add(T input)//T制定成类型参数

public T Add()//T制定成返回值

}

<T>的T是类型参数,起占位符的作用,编译时被真正类型取代。

使用泛型:

GenericList<int> list1 = new GenericList<int>();

GenericList<string> list2 = new GenericList<string>();

GenericList<类名> list3 = new GenericList<类名>();

GenericList<类名<int>> list4= new GenericList<类名<int>>();

以list1为例编译器生成以下的方法:

public void Add(int input)

public int Add()

有多个类型参数的泛型类:

public class 类名<T,U>

泛型约束:

确保泛型类使用的参数是提供特定方法的类型。

public class GenericList<T> where T : IEmployee

假如IEmployee接口包含A方法,编译器会验证用于替换T的类型一定要实现IEmployee接口。

泛型方法:允许采取定义泛型类时采用的方式

//定义泛型方法

static void Swap<T>(ref T lhs, ref T rhs)

{ T temp; temp = lhs; lhs = rhs; rhs = temp; }

//使用泛型方法

public static void TestSwap(){ int a=1,b=3;

Swap<int>(ref a,ref b);

string s1="Hello",s2="world";

Swap<string>(ref s1,ref s2);}

有泛型类,泛型接口,泛型方法,泛型委托

更多信息请查看IT技术专栏

更多信息请查看网络编程
手机网站地址:C#泛型有什么好处
由于各方面情况的不断调整与变化, 提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!

2025国考·省考课程试听报名

  • 报班类型
  • 姓名
  • 手机号
  • 验证码
关于我们 | 联系我们 | 人才招聘 | 网站声明 | 网站帮助 | 非正式的简要咨询 | 简要咨询须知 | 加入群交流 | 手机站点 | 投诉建议
工业和信息化部备案号:滇ICP备2023014141号-1 云南省教育厅备案号:云教ICP备0901021 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65317125(9:00—18:00) 获取招聘考试信息及咨询关注公众号:
咨询QQ:526150442(9:00—18:00)版权所有:
云南网警报警专用图标
Baidu
map