「C#in Depth」を参照して、次のコードを見つけました。
Func<string> stringFunc = () => "";
Func<object> objectFunc = () => new object();
Func<object> combined = objectFunc + stringFunc;
数学では2つの関数を追加しても意味がないと確信しているのに、なぜプログラマーoperator+
が関数のバイナリのオーバーロードを必要とするのでしょうか。これは、演算子のオーバーロードが害を及ぼす可能性がある理由の完璧な例のようです(そして私は一般的に演算子のオーバーロードのアイデアをサポートしています)。
C#で2つの関数を追加するとはどういう意味ですか?(私はC#の初心者なので、我慢してください。)
ここでオーバーロードするのは設計上の間違いだったことに同意し
operator+
ますか?ここで何をするかを達成するためのより良い構文は何でしょう
operator+
か?