我們知道,+=
運營商做這其串接像X = Y的任何操作+ X
x += y
相當於
x = x + y
但是有,這是否
x = y + x
操作
整數x + y = y + x
很好。但我想要字符串連接。
我們知道,+=
運營商做這其串接像X = Y的任何操作+ X
x += y
相當於
x = x + y
但是有,這是否
x = y + x
操作
整數x + y = y + x
很好。但我想要字符串連接。
沒有什麼你正在嘗試做的操作,但你也可以使用擴展方法:
public static string AddBefore(this string value, string before)
{
return before + value;
}
那顯然調用它像這樣:
x = x.AddBefore(y);
不,沒有。您可以使用+=
,結果應該相同,因爲x + y == y + x
。
對於字符串考慮Concat
,Format
方法或StringBuilder
。
另一種方式達到相同的結果是
x.Insert(0, y);
這是另一種查找方式。 –
使用 StringBuilder.Insert方法(Int 32,布爾)
我建議你應該去鍵入手寫x = y + x
的所有付出巨大的努力,因爲這是明確的,易於維護的代碼。如果你將運算符超載到神祕含義上,那麼代碼變得更加難以遵循。
+ =有一個清晰明確的含義,並且結果反映參數的順序(x += y
使字符串保持x,y的順序)。有一個像x ?= y
這樣的聲明產生y,x將是一個非常混淆的構造恕我直言。
你可以編寫一個像Prepend()這樣的擴展方法來使意思更清楚,但這會比原始表達式更加打字,所以可能毫無意義。
'x + y = y + x'那麼有什麼意義呢? – Dev
交換性是一件好事... –
@Dev:'+'和'+ ='運算符也用於級聯(不是可交換的,與加法相反)。 –