2012-10-05 36 views
0

我們知道,+=運營商做這其串接像X = Y的任何操作+ X

x += y 

相當於

x = x + y 

但是有,這是否

x = y + x 
操作

整數x + y = y + x

很好。但我想要字符串連接。

+3

'x + y = y + x'那麼有什麼意義呢? – Dev

+3

交換性是一件好事... –

+1

@Dev:'+'和'+ ='運算符也用於級聯(不是可交換的,與加法相反)。 –

回答

1

沒有什麼你正在嘗試做的操作,但你也可以使用擴展方法:

public static string AddBefore(this string value, string before) 
{ 
    return before + value; 
} 

那顯然調用它像這樣:

x = x.AddBefore(y); 
0

不,沒有。您可以使用+=,結果應該相同,因爲x + y == y + x

對於字符串考慮Concat,Format方法或StringBuilder

3

另一種方式達到相同的結果是

x.Insert(0, y); 
+0

這是另一種查找方式。 –

1

我建議你應該去鍵入手寫x = y + x的所有付出巨大的努力,因爲這是明確的,易於維護的代碼。如果你將運算符超載到神祕含義上,那麼代碼變得更加難以遵循。

+ =有一個清晰明確的含義,並且結果反映參數的順序(x += y使字符串保持x,y的順序)。有一個像x ?= y這樣的聲明產生y,x將是一個非常混淆的構造恕我直言。

你可以編寫一個像Prepend()這樣的擴展方法來使意思更清楚,但這會比原始表達式更加打字,所以可能毫無意義。

相關問題