implicit关键字用于声明隐式的用户定义类型转换运算符。 如果可以确保转换过程不会造成数据丢失,则可使用该关键字在用户定义类型和其他类型之间进行隐式转换。
引用摘自:implicit(C# 参考)
仍以Student求和举例
class Student { /// /// 语文成绩 /// public double Chinese { get; set; } /// /// 数学成绩 /// public double Math { get; set; } }
不使用implicit 求和
class Program {
static void Main(string[] args) { var a = new Student { Chinese = 90.5d, Math = 88.5d }; //a的总成绩 语文和数据的总分数 Console.WriteLine(a.Chinese + a.Math); } }
使用implicit
class Student { /// /// 语文成绩 /// public double Chinese { get; set; } /// /// 数学成绩 /// public double Math { get; set; } /// /// 隐式求和 /// /// public static implicit operator double(Student a) { return a.Chinese + a.Math; } }
求和:
class Program {
static void Main(string[] args) { var a = new Student { Chinese = 90.5d, Math = 88.5d }; double total = a; //a的总成绩 语文和数据的总分数 Console.WriteLine(total); } }
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/229384.html原文链接:https://javaforall.net
