C#泛型有什么好处

原创 2007年09月20日 00:01:00
关于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

C#泛型的优点

C# 泛型的优点是什么呢?在公共语言运行库和C# 语言的早期版本中,通用化是通过在类型与通用基类型 Object 之间进行强制转换来实现的,泛型提供了针对这种限制的解决方案。通过创建泛型类,您可以创建...
  • jackzhangyi
  • jackzhangyi
  • 2010年04月22日 14:27
  • 385

c#泛型优点

泛型主要有以下几个优点: 1.性能高:定义数据类型,不需要类型转换,避免拆装箱带来的性能损失; 2.类型安全:定义允许使用的数据类型,在编译时检查类型错误,及早发现错误。 装箱与拆箱的效率问...
  • MsdnWoo
  • MsdnWoo
  • 2016年03月27日 22:46
  • 836

C#泛型好处知多少

1.性能 性能是泛型的一个主要优点。 直接上例子,通过实例可以让我们很好的理解这一点。 Stopwatch stopwatch = new Stopwatch(); stopwatch.Start()...
  • tiana0
  • tiana0
  • 2013年09月01日 12:00
  • 2993

Java中的泛型是什么 ? 使用泛型的好处是什么?

这是在各种Java泛型面试中,一开场你就会被问到的问题中的一个,主要集中在初级和中级面试中。那些拥有Java1.4或更早版本的开发背景的人都知道,在集合中存储对象并在使用前进行类型转换是多么的不方便。...
  • abc789___
  • abc789___
  • 2015年07月20日 17:26
  • 1397

C#泛型有什么好处

关于object类型: 1.object类型可以来引用任何类型的实例; 2.object类型可以存储任何类型的值; 3.可以定义object类型的参数; 4.可以把object作为返回类型。 ...
  • CsethCRM
  • CsethCRM
  • 2013年10月21日 15:52
  • 627

Java里泛型有什么作用

java泛型
  • xiaogg3678
  • xiaogg3678
  • 2014年05月05日 10:25
  • 707

Java中集合泛型带来了什么好处?

首先,了解一下Java关于泛型的概念。泛型,在C++中被称为模板,就是一种抽象的编程方式。当我们定义类和方法的时候,可以用一种通用的方式进行定义,而不必写出具体的类,这些未知的东西会在真正使用的时候在...
  • qq_33642117
  • qq_33642117
  • 2016年08月16日 21:50
  • 1862

第三讲 C#泛型有什么好处

主页:http://blog.csdn.net/21aspnet/           时间:2007.3.24 关于object类型:1.object类型可以来引用任何类型的实例;2.object类...
  • lsd123
  • lsd123
  • 2008年09月25日 20:35
  • 555

Java集合框架中的泛型有什么优点

你把方法写成泛型,这样就不用针对不同的数据类型(比如int,double,float)分别写方法,只要写一个方法就可以了,提高了代码的复用性,减少了工作量。 希望采纳。...
  • waixiaolun
  • waixiaolun
  • 2017年09月12日 15:12
  • 193

Java中引入泛型的好处

泛型的本质是参数化类型,即所操作的数据类型被指定为一个参数。这种类型参数可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。   在没有泛型的情况下,通过对类型Object的引用来...
  • weixin_36380516
  • weixin_36380516
  • 2016年12月13日 10:57
  • 1323
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C#泛型有什么好处
举报原因:
原因补充:

(最多只允许输入30个字)