C#struct和Class隐式转换,implicit,operator。
添加隐式转换类型:static implicit operator :
public class MyClass
{
public double val;
public MyClass()
{
val = 11111;
}
public static implicit operator MyClass(double d)
{
return new MyClass();
}
}
public struct MyStruct
{
public MyStruct(double w)
{
val = w;
}
public double val;
public static implicit operator MyStruct(double d)
{
return new MyStruct();
}
}
这里 struct 类型是没有无入参的构造函数的。但是在实例化的时候,可以没有入参。(不知道为啥)。
加入 implicit operator 后可以直接给类型调用方法赋值。可以不用实例化如:MyStruct b = 2;

浙公网安备 33010602011771号