Closed. This question is opinion-based。它当前不接受答案。












想要改善这个问题吗?更新问题,以便editing this post用事实和引用来回答。

4年前关闭。



Improve this question




我是C#的新手,我知道运算符重载的目的和用途,并且可以看到它在非常特殊的情况下有时是很优雅的,例如,否定值对象以一次否定其所有字段,但是这种情况总是可以的。用简单的口语方法完成。我是否可以使用一些标准作为准则,何时或是否重载运算符或何时仅使用方法?我找不到类似的东西,这仅仅是口味/编程范例/风格的问题吗?

最佳答案

这是我发现的与任何类型的运算符重载指南最接近的东西:
MSDN operator overload

我是从C++的背景来到C#的,其中运算符重载已成为规范的一部分。 C#的问题在于,它没什么用处是所有对象都是引用。因此,您不能重载=运算符,在我看来,它是对复杂对象重载的最有用的运算符。就是说,编写扩展方法可以用相同的代码实现相同的目标。

而且,正如评论中指出的那样,我也已经在C#中工作了将近10年,并且还没有看到有人使运算符(operator)重载。

关于c# - 在C#中重载运算符实际上是一种好习惯吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43548897/

10-16 09:09