-2
我試圖做一個程序,其中我想交換/改變輸入字的位置: 例如: 輸入字:溢出 輸出: vorelfwos 我想換出的第1和第2個字母的第三,第四等,如果它在具有用於交換沒有伴侶結束了一封信,我只想保留原樣。有人能幫助我嗎?我將使用c#btw。如何更改字母的位置在一個字的輸入字符串
我試圖做一個程序,其中我想交換/改變輸入字的位置: 例如: 輸入字:溢出 輸出: vorelfwos 我想換出的第1和第2個字母的第三,第四等,如果它在具有用於交換沒有伴侶結束了一封信,我只想保留原樣。有人能幫助我嗎?我將使用c#btw。如何更改字母的位置在一個字的輸入字符串
C#字符串有一個indexer,叫System.String.Chars
:
char letter = "Hello World"[0];
letter
現在H
。
,但字符串是不變的,所以你不能改變這樣一個角色:
string myString = "Hello";
myString[1] = 'R'; // Produces an error.
所以我建議使用System.Text.StringBuilder
,所以這裏是一個extension method使用它:
public static string Swap(this string str, int charToSwapA, int charToSwapB)
{
System.Text.StringBuilder stringBuilder = new System.Text.StringBuilder(str);
oldCharToSwapA = stringBuilder[charToSwapA];
stringBuilder[charToSwapA] = stringBuilder[charToSwapB];
stringBuilder[charToSwapB] = stringBuilder[oldCharToSwapA];
return stringBuilder.ToString();
}
可以這樣使用:
string myString = "dello WorlH".Swap(0, 10);
myString
現在是"Hello World"
。
非常感謝你! – Kirito
聽起來像功課..你嘗試過什麼?你在哪裏卡住 –
閱讀[問]。介紹這個問題,*展示你所嘗試過的*,並解釋你卡在哪裏。目前這只是「爲我做我的工作」。 –
我從字面上不能拿出任何東西,我只是不知道如何才能識別單詞中的第一,第二或第三個字母。 – Kirito