C#泛型有什么好处
来源:互联网 发布:淘宝steam充值卡便宜 编辑:程序博客网 时间:2024/04/25 06:46
关于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);}
有泛型类,泛型接口,泛型方法,泛型委托
文章引用:http://blog.sina.com.cn/caoxin1977
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);}
有泛型类,泛型接口,泛型方法,泛型委托
文章引用:http://blog.sina.com.cn/caoxin1977
- C#泛型有什么好处
- C#泛型有什么好处
- C#泛型有什么好处
- C#泛型有什么好处
- C#泛型有什么好处
- C#泛型有什么好处
- 第三讲 C#泛型有什么好处
- C#精髓【月儿原创】第三讲 C#泛型有什么好处
- C# 用委托有什么好处? 它起什么作用?
- C# 用委托有什么好处? 它起什么作用?
- TIVOLI有什么好处?
- 数据库有什么好处
- 自恋,有什么好处?
- 平胸有什么好处?
- c# 中委托和直接函数调用用什么区别,好处和目的在哪?
- c# 泛型有什么作用
- 做业务员有什么好处?
- 深圳户口有什么好处??
- 算算退休后能拿多少钱?
- 故乡月
- Day 7 Using Exceptions to Perform Error Checking
- CSS
- C和C++编程和学习文档
- C#泛型有什么好处
- Windows应用程序对键盘与鼠标的响应总结
- 使用js读取xml
- 一对懒夫妻的幸福生活
- js添加,移除select 控件的option
- WSDL(Web服务描述语言)详细解析
- xfire开发实例--HelloWorld篇
- 一道字符串解析题
- Axis2 部署模型的六种部署特点提供更好的用户体验