VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > Python基础教程 >
  • C#教程之C# 转换关键字 operator

operator#

使用 operator 关键字重载内置运算符,或在类或结构声明中提供用户定义的转换。

假设场景,一个Student类,有语文和数学两科成绩,Chinese Math,加减两科成绩,不重载运算,代码如下。


Copy
class Student { /// <summary> /// 语文成绩 /// </summary> public double Chinese { get; set; } /// <summary> /// 数学成绩 /// </summary> public double Math { get; set; } }

比较两个成绩差距


Copy
var a = new Student { Chinese = 90.5d, Math = 88.5d }; var b = new Student { Chinese = 70.5d, Math = 68.5d }; //a的语文比b的语文高多少分 Console.WriteLine(a.Chinese - b.Chinese); //a的数学比b的数学高多少分 Console.WriteLine(a.Math - b.Math);

使用operator 重载 -


Copy
class Student { /// <summary> /// 语文成绩 /// </summary> public double Chinese { get; set; } /// <summary> /// 数学成绩 /// </summary> public double Math { get; set; } public static Student operator -(Student a, Student b) { return new Student { Chinese = a.Chinese - b.Chinese, Math = a.Math - b.Math }; } }

比较成绩差距的代码可以改为


Copy
class Program { static void Main(string[] args) { var a = new Student { Chinese = 90.5d, Math = 88.5d }; var b = new Student { Chinese = 70.5d, Math = 68.5d }; var c = a - b; //a的语文比b的语文高多少分 Console.WriteLine(c.Chinese); //a的数学比b的数学高多少分 Console.WriteLine(c.Math); } }

参考:运算符(C# 参考)

作者:repeatedly

出处:https://www.cnblogs.com/AlienXu/p/9482719.html

本站使用「署名 4.0 国际」创作共享协议,转载请在文章明显位置注明作者及出处。

 
 
 

相关教程