你的位置:首页 > 软件开发 > ASP.net > [转]c# 泛类型(泛型) 以及强类型与弱类型的 理解及优化

[转]c# 泛类型(泛型) 以及强类型与弱类型的 理解及优化

发布时间:2015-04-08 12:01:26
[泛型的概念](1)没有泛型的时候,所有的对象都是以object为基础,如果要使用时必须进行强制类型转换,如果对于值类型,则会导致不断拆箱装箱的过程,对系统消耗很大。(2)使用泛型时不需要通过object类进行装箱拆箱,使用的时候都会是确定的类型。(3)泛型的概念一开始是由集合引 ...

[泛型的概念]频繁的拆箱、装箱操作在没有泛型的时候反复进行,对系统资源消耗很大。可以使用泛型集合。List<int> list2 = new List<int>();泛型在定义的时候就区分了值类型和引用类型。泛型的优点:类型安全类型安全在于提前避免异常的出现。List<int> list2 = new List<int>();List<int> list=new List<int>();List<get='_blank'>string> stringList=new List<string>();List<MyClass> myclassList=new List<MyClass>();泛型的优点:代码的重用与扩展定义一个泛型类:使用它:Public class SortedList<TKey,Tvalue>{}泛型集合    强类型和弱类型指的是两个具有直接或者间接继承关系的两个类。如果一个类是另一个类的直接或者间接基类,那么它为弱类型,直接或者间接子类为强类型。后续的介绍中会用到的两个类Foo和Bar先定义在这里。Bar继承自Foo。Foo是弱类型,而Bar则是强类型。  有了强类型和弱类型的概念,我们就可以这样的定义协变和逆变:如果类型TBar是基于强类型Bar的类型,而类型TFoo是基于弱类型Foo的类型,协变就是将TBar类型的实例赋值给TFoo类型的变量,而逆变则是将TFoo类型的实例赋值给TBar类型的变量。  委托中的协变与逆变的使用  协变和逆变主要体现在两个地方:接口和委托,先来看看在委托中如何使用协变和逆变。现在我们定义了如下一个表示无参函数的泛型委托 Function,类型参数为函数返回值的类型。泛型参数之前添加了一个out关键字表示T是一个协变变体。那么在使用过程中,基于强类型的委托 Fucntion实例就可以赋值给基于弱类型的委托Fucntion变量。 [强类型弱类型]一直说C#是强类型语言,通俗地讲,便是指C#中的“变量”在开发时的类型便是明确的:String便是String,Int32就是Int32,毫无争议。强类型的好处有很多,张嘴便可随意举上几例:能够享受代码提示功能 摘自:http://hi.baidu.com/morespring/blog/item/fe9220358a03690aebc4afa4.html


原标题:[转]c# 泛类型(泛型) 以及强类型与弱类型的 理解及优化

关键词:C#

C#
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录