C# explicit operator 显式转换简单测试

发布时间 2023-05-08 15:30:50作者: double64
static void Main(string[] args)
{    
    TEST tEST = new TEST { Hello = 100 };
    TEST_ST tEST_ST = (TEST_ST)tEST;
    Console.WriteLine(tEST_ST.Hello);

    tEST_ST = new TEST_ST() { Hello = 111 };
    TEST tEST1 = (TEST)tEST_ST;
    Console.WriteLine(tEST1.Hello.ToString());

    Console.ReadKey();
}

public class TEST
{
    public int Hello { get; set; }
    public static explicit operator TEST(TEST_ST st)
    {
        TEST tEST = new TEST() { Hello = st.Hello };
        return tEST;
    }
}

public struct TEST_ST
{
    public int Hello;
    public static explicit operator TEST_ST(TEST test)
    {
        TEST_ST tEST = new TEST_ST() { Hello = test.Hello };
        return tEST;
    }
}

输出:

100
111