清风网络:老牌安全放心下载站! 下载排行 推荐软件 软件分类 最新文章 热点文章 最新软件 文章分类
软件文章
最新专题: 硬件检测 Apple Watch 手机公交查询软件 acdsee 微博 pptv 手机理财软件 dreamweaver 站长工具 购物汇总推荐 刻录工具 傲游浏览器 手机医药软件 窗口化工具 视频播放
当前位置:清风网络程序开发C/C++ → C#中字段与属性性能比较

2009-2-19 10:24:26


  Effective C# 原则1:尽可能的使用属性(property),而不是数据成员(field)。
  把所有的字段都设为私有字段,如果要暴露它们,则把它们封装成属性。这也是微软推荐的方式。具体的好处此处不赘述。
  属性的实质是方法(get和set方法),IL中没有属性的概念。因此,使用属性必然会带来性能的降低。到底使用属性和使用字段的性能差多少。我自己写了一个小程序进行测试。主要代码如下:
  publicclassTestFeildProperty
  {
    staticreadonlyint_RunTime=10000000;
    publicstaticvoidUseField()
    {
      DateTimebegin=DateTime.Now;
      intmilliSecondBegin=DateTime.Now.Millisecond;
      for(inti=0;i<_RunTime;i++)
      {
        _TestField=1;
      }
      DateTimeend=DateTime.Now;
      TimeSpanresult=end-begin;
      Console.WriteLine(result.ToString());
    }
    publicstaticvoidUseProperty()
    {
      DateTimebegin=DateTime.Now;
      intmilliSecondBegin=DateTime.Now.Millisecond;
      for(inti=0;i<_RunTime;i++)
      {
        TestField=1;
      }
      DateTimeend=DateTime.Now;
      TimeSpanresult=end-begin;
      Console.WriteLine(result.ToString());
    }
    staticint_TestField;
    staticintTestField
    {
      set {_TestField=value;}
      get {return_TestField; }
    }
  }

  测试方式为对字段和属性循环赋值和读取(以上代码只有赋值部分)。
[1] [2] 下一页 

相关软件

文章评论

阅读排行

推荐文章

帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
本站提供的软件来自互联网下载纯属学习交流之用,全部需要用迅雷工具下载,如侵犯您版权的请与我们联系,我们会尽快改正,请在下载24小时后删除。
www.vipcn.com 版权所有 蜀ICP备13015096号-5 Powered by:vipcn