当前位置: 移动技术网 > IT编程>开发语言>.net > C# 隐式转换关键字 implicit

C# 隐式转换关键字 implicit

2018年08月17日  | 移动技术网IT编程  | 我要评论

俄罗斯卫星,真鹄菠箸,官道天骄笔趣阁

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);
        }
    }

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网