Fre*_*ood 2 .net c# implicit variable-assignment
事实上MyClass x = 120;,是否可以创建这样的自定义类?如果是这样,我该怎么做?
通常认为使用隐式运算符是一个坏主意,因为它们毕竟是隐式的并且在您背后运行。调试充满运算符重载的代码是一场噩梦。也就是说,有这样的事情:
public class Complex
{
public int Real { get; set; }
public int Imaginary { get; set; }
public static implicit operator Complex(int value)
{
Complex x = new Complex();
x.Real = value;
return x;
}
}
Run Code Online (Sandbox Code Playgroud)
你可以使用:
Complex complex = 10;
Run Code Online (Sandbox Code Playgroud)
或者你可以重载 + 运算符
public static Complex operator +(Complex cmp, int value)
{
Complex x = new Complex();
x.Real = cmp.Real + value;
x.Imaginary = cmp.Imaginary;
return x;
}
Run Code Online (Sandbox Code Playgroud)
并使用类似的代码
complex +=5;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3231 次 |
| 最近记录: |