您的位置:威尼斯官方网站 > 威尼斯正规官网 > 该援引摘自

该援引摘自

发布时间:2019-11-27 17:27编辑:威尼斯正规官网浏览(106)

    区别于隐式转变,显式转变运算符必得经过转移的办法来调用。 假若调换操作会以致非凡或遗失消息,则应将其标识为 explicit。 那可掣肘编译器静默调用恐怕产生出人意料后果的调换操作。
    简言之转变将产生编写翻译时不当 CS0266。

    该援用摘自:explicit(C#威尼斯官方网站, 参考)

    显示调换关键字explicit能向阅读代码的各种人通晓地提示您要改造类型。

    该援用摘自:应用调换运算符(C# 编程指南卡塔尔

    仍以Student为例,取语文和数学成绩的和,不利用explicit

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

    求和:

        class Program
        {
            static void Main(string[] args)
            {
                var a = new Student
                {
                    Chinese = 90.5d,
                    Math = 88.5d
                };
    
                //a的总成绩 语文和数据的总分数
                Console.WriteLine(a.Chinese + a.Math);          
            }
        }
    

    使用explicit

        class Student
        {
            /// <summary>
            /// 语文成绩
            /// </summary>
            public double Chinese { get; set; }
    
            /// <summary>
            /// 数学成绩
            /// </summary>
            public double Math { get; set; }
    
            public static explicit 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
                };
    
                //a的总成绩 语文和数据的总分数
                Console.WriteLine((double)a);
            }
        }
    

    本文由威尼斯官方网站发布于威尼斯正规官网,转载请注明出处:该援引摘自

    关键词: