【发布时间】:2014-01-29 08:42:03
【问题描述】:
我正在尝试将一个对象与一个 int 值进行比较,例如
if (myObject - 5 == 0)
doSomething();
我的类可能看起来像这样:(删除了大多数 setter/getter,所以不要介意所有变量都是私有的)
public class SomeClass
{
public string name;
private int minValue;
private int maxValue;
private int currValue;
public int getCurrentValue()
{
return currValue;
}
}
我想要实现的是这样的:
someClassInstance - 5;
平等
someClassInstance.getCurrentValue() - 5;
我可以将对象重写为一个 int(它自己的变量)而不是仅仅作为一个对象吗?
【问题讨论】:
-
@TimSchmelter,谢谢!
-
Dmitry 在下面的回答非常好,但问问自己使用这样的一元运算符是否有意义。例如:“myCar + hisCar”会让人难以理解正在执行的操作。
-
Dmitry Bychenko 的回答让我大吃一惊,但我更喜欢 Matthew Watson,因为它在性能方面似乎更有效率。
-
我不认为这个问题应该被关闭,因为 @Matthew Watson 的答案在其他答案中不可用。
标签: c#