• C#基础知识 简单说明泛型的优点


    有关泛型的优缺点在网上有很多篇文章,也足以说明问题,我就不去复制粘贴了(而且内容有些多),由于记性不太好,所以自己做个简单明了的总结。

    泛型的优点主要有两个:

    • “性能”
    • “安全”

    性能从何谈起?很简单,看个粟子。

                //装箱与拆箱操作很容易使用,但是对性能的损失较大,尤其是遍历许多项时非泛型
                var list = new ArrayList();
                list.Add(4); //boxing 装箱操作
                int i1 = (int)list[0];//unboxing- convert a reference to a value type 拆箱操作
                foreach (int i2 in list)
                {
                    Console.WriteLine(i2);//unboxing 拆箱操作
                }
    
                //泛型
                var list = new List<int>();
                list.Add(4);//no boxing 不需要装箱操作,因为value的type在List<int>中已经指定。
                int i1 = list[0];//不需要再使用(int)进行拆箱操作。
                foreach (int i2 in list)
                {
                    Console.WriteLine(i2);//不再需要拆箱操作。
                }

    安全性,指的是类型安全

                //非泛型
                var list = new ArrayList();
                list.Add(44);
                list.Add("String");
                list.Add(new Class());
                //没有指定类型的情况下,集合中可以添加任意的类型,添加时不会有异常,但是在遍历时会引发异常
                //泛型
                var list = new List<int>();
                list.Add(44);
                list.Add("String"); //compile time error
    非常感谢您的耐心观看,您的关注是我最大的动力! 不积跬步无以至千里,不积小流无以成江海!
  • 相关阅读:
    设计模式学习之路——Strategy 策略模式
    C# 异步编程 结束异步调用
    设计模式学习之路——Chain Of Responsibility 职责链模式
    delphi笔记之XML操作
    AS3判断XML属性是否存在
    Loader ,URLLoader ,URLStream的使用区别(转)
    delphi笔记之nativeXml
    Delphi的颜色转换
    Delphi利用Bass.dll播放音频
    【转】球坐标旋转
  • 原文地址:https://www.cnblogs.com/sheldon-blog/p/8093279.html
Copyright © 2020-2023  润新知