2013-05-14 19 views
1

比如我有一個+ =使用字符串時的相反操作是什麼?

String a="Hello"; 
a+="World"; 

這將使世界的盡頭。我怎樣才能把它放在開頭?

+2

我想有周圍使用'A = 「世界」 +了'沒辦法。 – Corak 2013-05-14 11:32:32

+0

不能確定在C#中,但是如果爲此對象定義,' - ='應該與'+ ='相反。 – fotanus 2013-05-14 12:14:18

回答

1

這很簡單,你可以添加新詞的開始

String a="Hello"; 
a="World" + a; 
1

你不能做到這一點與任何特殊的操作。你將不得不做的事:

a = "World"+a; 
11

簡單:

a = a + "World"; 

如果要反轉的順序沒有這樣的縮寫存在:對於

string a = "Hello"; 
a = "World" + a; 

最終,a += "World";只是縮寫語法操作數。

補充說明 - 記住,如果你正在做這個有很多(在一個循環等),也可能是更好的考慮StringBuilder避免很多中介string S的。

2

只是這樣做:

String a = "Hello"; 
a = "World " + a; 
3

要在前面,你會簡單地使用。

a = "World" + a; 

請記住,實際上,你可以創建一個完全新的字符串,你不能預先或postpend任何字符串在C#中,因爲它們是不可變的。如果您有特殊的字符串處理需求,請考慮使用String.Format或StringBuilder.AppendFormat。

4

您也可以撥打插入功能;

a = a.Insert(0, "start"); 
+1

至少這是開箱即用的。 – Steve 2013-05-14 11:36:23

+0

但可悲的是比其他解決方案的可讀性差。 – 2013-05-14 11:56:00

0

使用StringBuilder執行字符串操作。

http://msdn.microsoft.com/en-us/library/2839d5h5(v=vs.71).aspx

+4

這取決於場景;如果只合並兩個字符串,'+'比'StringBuilder'更有效;如果你正在做大量的字符串操作,例如在一個循環中,它*是*適合使用'StringBuilder'。但是說「使用StringBuilder執行字符串操作」是無益的(可能有害)建議。實際上,這裏最好的選擇是'string a =「Hello」+「World」; ***編譯器***將直接執行 - 它永遠不會觸及運行時 – 2013-05-14 11:42:41

+0

同意!對於少於4次的操作,我們應該避免使用Stringbuilder。但是這個問題並沒有表明這是單次或多次所需的操作。 – Amit 2013-05-15 09:42:26