2016-10-02 80 views
-2

我試圖做一個程序,其中我想交換/改變輸入字的位置: 例如: 輸入字:溢出 輸出: vorelfwos 我想換出的第1和第2個字母的第三,第四等,如果它在具有用於交換沒有伴侶結束了一封信,我只想保留原樣。有人能幫助我嗎?我將使用c#btw。如何更改字母的位置在一個字的輸入字符串

+4

聽起來像功課..你嘗試過什麼?你在哪裏卡住 –

+3

閱讀[問]。介紹這個問題,*展示你所嘗試過的*,並解釋你卡在哪裏。目前這只是「爲我做我的工作」。 –

+0

我從字面上不能拿出任何東西,我只是不知道如何才能識別單詞中的第一,第二或第三個字母。 – Kirito

回答

0

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"

+0

非常感謝你! – Kirito

相關問題