C# 隐式转换关键字 implicit
程序员文章站
2022-05-13 23:46:18
关键字用于声明隐式的用户定义类型转换运算符。 如果可以确保转换过程不会造成数据丢失,则可使用该关键字在用户定义类型和其他类型之间进行隐式转换。 引用摘自: "implicit(C 参考)" 仍以Student求和举例 不使用 求和 使用 求和: ......
implicit
关键字用于声明隐式的用户定义类型转换运算符。 如果可以确保转换过程不会造成数据丢失,则可使用该关键字在用户定义类型和其他类型之间进行隐式转换。
引用摘自:implicit(c# 参考)
仍以student求和举例
class student { /// <summary> /// 语文成绩 /// </summary> public double chinese { get; set; } /// <summary> /// 数学成绩 /// </summary> 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 { /// <summary> /// 语文成绩 /// </summary> public double chinese { get; set; } /// <summary> /// 数学成绩 /// </summary> public double math { get; set; } /// <summary> /// 隐式求和 /// </summary> /// <param name="a"></param> 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); } }