泛型较为广泛地被讨论,这里写到的只是作为新手的入门级认识。 泛型最常应用于集合类。 泛型的一个显而易见的优点在于可以在许多操作中避免强制转换或装箱操作的成本或风险,拿ArrayList这个集合类来说,为了达到其通用性,集合元素都将向上转换为object类型,对于值类型,更是有装箱拆箱的成本: static void Main(string[] args) { ArrayList al = new ArrayList(); al.Add(1); } 在IL中是: IL_0008: ldc.i4.1 IL_0009: box [mscorlib]System.Int32 IL_000e: callvirt instance int32 [mscorlib]System.Collections.ArrayList::Add(object) box操作就是装箱,具体过程是把值类型从栈中弹出,放入堆中,同时把在堆中的地址压入到栈中,频繁出现这样的操作,成本比较大。 static void Main(string[] args) { List<int> l = new List<int>(); l.Add(1); } 另一个比较常用的泛型集合类是Dictionary<T,T>,用于保存键值对: static void Main(string[] args) { Dictionary<int, string> dict = new Dictionary<int, string>(); dict.Add(1, “SomeBook1”); dict.Add(2, “SomeBook2”); dict.Add(3, “SomeBook3”); Console.WriteLine(dict[2]);//output:SomeBook2 dict[2] = “SomeCD1”;//modify Console.WriteLine(dict[2]);//output:SomeCD1 dict.Remove(2);//delete foreach (KeyValuePair<int, string> kv in dict) { Console.WriteLine(“Key = {0}, Value = {1}”,kv.Key, kv.Value); } }
所以在2.0中,遇到以上的应用,应该使用泛型集合类List<T>:
http://www.cnblogs.com/KissKnife/archive/2006/08/26/486807.html
.net泛型基础_asp.net基础
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » .net泛型基础_asp.net基础
相关推荐
-      对.net framework 反射的反思_asp.net技巧
-      .net3.5和vs2008中的asp.net ajax_asp.net技巧
-      使用asp.net ajax框架扩展html map控件_asp.net技巧
-      asp.net应用程序资源访问安全模型_asp.net技巧
-      photoshop初学者轻松绘制螺旋漩涡特效_photoshop教程
-      photoshop通道结合图层模式抠狗尾巴草_photoshop教程
-      web.config详解+asp.net优化_asp.net技巧
-      asp.net中多彩下拉框的实现_asp.net技巧