我刚刚浏览了“C# in Depth”并偶然发现了以下代码:
Func<string> stringFunc = () => "";
Func<object> objectFunc = () => new object();
Func<object> combined = objectFunc + stringFunc;
我很确定添加两个函数在数学中毫无意义,那么为什么任何程序员都想要operator+
函数的二进制重载呢?这似乎是一个完美的例子,说明为什么重载运算符会造成伤害(我通常支持运算符重载的想法)。
在 C# 中添加两个函数是什么意思?(我是 C# 菜鸟,所以请耐心等待。)
你同意这里超载是一个设计错误
operator+
吗?什么是更好的语法来实现它
operator+
在这里所做的一切?