打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
泛型与普通方法、Object方法效率比较

泛型与普通方法、Object方法效率比较

简介:

   方法的执行效率比较,首先考虑的就是执行方法时所耗费的时长,时长越短,效率越好,耗时越长,效率越差。下面就从执行耗时方法考量三种方法的效率。

实现方法:

 

        static void Main(string[] args)        {            Monitor.Show();        }        public static void Show()        {            Console.WriteLine("****************Monitor******************");            {                int iValue = 12345;                long commonSecond = 0;                long objectSecond = 0;                long genericSecond = 0;                //普通方法                {                    Stopwatch watch = new Stopwatch();                    watch.Start();                    for (int i = 0; i < 1000000; i++)                    {                        ShowInt(iValue);                    }                    watch.Stop();                    commonSecond = watch.ElapsedMilliseconds;                }                //Object                {                    Stopwatch watch = new Stopwatch();                    watch.Start();                    for (int i = 0; i < 1000000; i++)                    {                        ShowObject(iValue);                    }                    watch.Stop();                    objectSecond = watch.ElapsedMilliseconds;                }                //泛型                {                    Stopwatch watch = new Stopwatch();                    watch.Start();                    for (int i = 0; i < 1000000; i++)                    {                        Show<int>(iValue);                    }                    watch.Stop();                    genericSecond = watch.ElapsedMilliseconds;                }                Console.WriteLine("commonSecond={0},objectSecond={1},genericSecond={2}", commonSecond, objectSecond, genericSecond);                Console.ReadKey();            }        }        #region PrivateMethod        private static void ShowInt(int iParameter)        {            //do nothing        }        private static void ShowObject(object oParameter)        {            //do nothing        }        private static void Show<T>(T tParameter)        {            //do nothing        }        #endregion

 

执行结果:

****************Monitor******************commonSecond=3,objectSecond=9,genericSecond=3

 

显然,泛型方法执行效率比较高。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
方法的直接调用,反射调用与……Lambda表达式调用 - 老赵点滴 - 追求编程之美 - ...
【C#】反射的用法及效率对比
.NET/C# 万能 HTTP 模拟请求框架
.NET并行编程实践(一:.NET并行计算基本介绍、并行循环使用模式)
使用ToUpperInvariant避免使用ToUpper
C#记录程序耗时的方法
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服