implicit

来源:互联网 发布:人工智能龙头企业 编辑:程序博客网 时间:2024/05/22 03:49

implicit 关键字用于声明隐式的用户定义类型转换运算符。如果转换过程可以确保不会造成数据丢失,则可使用该关键字在用户定义类型和其他类型之间进行隐式转换。


namespace ConsoleApplication19{    class Digit    {        public Digit(double d) { val = d; }        public double val;        // ...other members        // User-defined conversion from Digit to double        public static implicit operator double(Digit d)        {            return d.val;        }        //  User-defined conversion from double to Digit        public static implicit operator Digit(double d)        {            return new Digit(d);        }    }    class Program    {        static void Main(string[] args)        {            Digit dig = new Digit(7);            //This call invokes the implicit "double" operator            double num = dig;            //This call invokes the implicit "Digit" operator            Digit dig2 = 12;            Console.WriteLine("num = {0} dig2 = {1}", num, dig2.val);            Console.ReadLine();        }    }}


0 0
原创粉丝点击