建议9: 习惯重载运算符

转载 2016年08月30日 14:18:53

建议9: 习惯重载运算符

在开发过程中,应该习惯于使用微软提供给我们的语法特性。我想每个人都喜欢看到这样的语法特性:

  1. int x = 1;  
  2. int y = 2;  
  3. int total = x + y; 

而不是用下面的语法来完成一样的事情:

  1. int x = 1;  
  2. int y = 2;  
  3. int total = int.Add(x, y); 

同理,在构建自己的类型时,我们应该始终考虑该类型是否可以用于运算符重载。如果考虑类型Salary,下面的这段代码看起来就不是那么舒服了:
  1. Salary mikeIncome = new Salary() { RMB = 22 };  
  2. Salary roseIncome = new Salary() { RMB = 33 };  
  3. Salary familyIncome = Salary.Add(mikeIncome, roseIncome); 

应该使类型支持:
  1. Salary familyIncome = mikeIncome + roseIncome; 

后者读起来一目了然。CLR支持在类型中,通过使用operator关键字定义静态成员函数来重载运算符,让开发人员可以像使用内置基元类型一样使用该类型。Salary重载“+”运算符的版本看起来应该像以下形式:
  1. class Salary  
  2. {  
  3.     public int RMB { get; set; }  
  4.  
  5.     public static Salary operator +(Salary s1, Salary s2)  
  6.     {  
  7.         s2.RMB += s1.RMB;  
  8.         return s2;  
  9.     }  
转自:《编写高质量代码改善C#程序的157个建议》陆敏技

Tip9 习惯重载运算符

Tip9 习惯重载运算符 在构建自己的类型时,应该考虑该类型是否可以用于运算符重载,使代码看起来跟简洁明了。例如: class Program { static voi...
  • q136780964
  • q136780964
  • 2017年08月01日 21:38
  • 81

改善python程序的91个建议读书笔记(5)

建议13尽量转换为浮点类型后再做除法 建议14警惕eval的安全漏洞 建议15使用enumerate获取序列迭代的索引和值 建议16分清 与is的使用场景 建议17考虑兼容性尽可能使用Unicode ...
  • funnyPython
  • funnyPython
  • 2018年01月17日 20:32
  • 61

[C#高质量代码的建议]重载运算符

通过使用operator关键字定义静态成员函数来重载运算符。 class Sample { public RMB {get; set; } public static Sample ...
  • leowangzi
  • leowangzi
  • 2012年01月20日 11:18
  • 1700

C语言之重载运算符()/[]/++/->等运算符

C语言之重载运算符()/[]/++/->等预算符文章链接:知识点 重载()运算符; 重载[]运算符; 重载++和->运算符; 新名词记录{operator} 概述operator操作符一文包括两种用法...
  • qq_16628781
  • qq_16628781
  • 2017年05月22日 20:23
  • 1722

java良好的编程习惯

java良好的编程习惯 1.应该在每个程序的开始都加上注释,解释该程序的目的、作者以及程序最后一次被修改的日期和时间。 2.使用空行和空格来增强程序的可读性。 3.按照约定,类名标识...
  • javaniuniu
  • javaniuniu
  • 2017年05月29日 15:15
  • 519

java 常用习惯用法总结

注:本文是根据网络上的文章受启发,自己再写代码总结而成。因为无法找到原文的原始出处,所以没法给出原文链接。文章也会引用部分网络素材内容,如果原作者看到请与我联系。前言本博主写java属于半道出家,与专...
  • bitcarmanlee
  • bitcarmanlee
  • 2016年06月18日 00:18
  • 838

用户使用搜索引擎的一般习惯

只有在清晰的了解了用户搜索行为,我们才能避开激烈的竞争,也只有这样才能更加精准的找出那些潜在客户的搜索的关键词,如果不能对用户的搜过行为进行深入的分析,那么我们就无法正确的选择出那些最具价值的关键词,...
  • nsw2016
  • nsw2016
  • 2016年10月12日 14:09
  • 523

《微习惯》读后感

https://www.zhihu.com/question/23969798 最近在读一本很薄的小书《微习惯》,其中就提到几个很重要的观念,就是: 1. 人往往习惯性高估短期收益...
  • qq646748739
  • qq646748739
  • 2017年05月06日 00:48
  • 630

LINUX 高手的 10 个习惯

采用 10 个能够提高您的 UNIX? 命令行效率的好习惯——并在此过程中摆脱不良的使用模式。本文循序渐进地指导您学习几项用于命令行操作的技术,这些技术非常好,但是通常被忽略。了解常见错误和克服它们的...
  • junllee
  • junllee
  • 2014年04月04日 14:57
  • 967

十招教你养成使用电脑好习惯

     中国现在有一亿多人在使用电脑,但是懂电脑的人又有几成呢,会用电脑的人又有多少?相信大家通过了解现在的电脑维修业红火程度就可以看出来,而且服务蛮横无理,接下来我就为大家介绍一些电脑使用中的一些...
  • zhaoguanjie
  • zhaoguanjie
  • 2007年06月12日 17:12
  • 522
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:建议9: 习惯重载运算符
举报原因:
原因补充:

(最多只允许输入30个字)