C#显示转换和隐式转换

    xiaoxiao2022-07-12  144

    C# 通过implicit 和 explicit可以实现隐式和显示转换;

    public class MyClass { public int iValue; public MyClass(int iValue) { this.iValue = iValue; } //显示转换 public static explicit int(MyClass myClass)//(1) { return myClass.iValue; } public static explicit MyClass(int iValue)//(2) { return new MyClass(iValue); } 隐式转换 public static implicit int(MyClass myClass)//(3) { return myClass.iValue; } public static implicit MyClass(int iValue)//(4) { return new MyClass(iValue); } }

    使用方法:

    static void main(string[] args) { MyClass myClass = new MyClass(10); int iValue = myClass;//使用的函数(3),属于隐式转换 int iValue1 = (int)myClass;//使用的函数(1),属于显示转换 MyClass myClass1 = iValue;//使用的函数(4),属于隐式转换 MyClass myClass2 = (MyClass)iValue1;//使用的函数(2),属于显示转换 }
    最新回复(0)