如何更改输入字符串中单词中字母的位置

时间:2016-10-02 10:08:48

标签: c# visual-studio

我正在尝试创建一个程序,其中我想交换/更改输入单词的位置: 例如: 输入字:溢出     输出:vorelfwos  我想把第1和第2个字母换成第3个和第4个字母,依此类推,如果它的末尾有一个没有交换伙伴的字母,我想保持原样。有人能帮助我吗?我将使用c#btw。

1 个答案:

答案 0 :(得分:0)

C#字符串有一个indexer,名为System.String.Chars

.container.elem div{
    float:left;
}

char letter = "Hello World"[0]; 现在是letter

但是字符串是不可变的,所以你不能改变这样的字符:

H

所以我建议使用System.Text.StringBuilder,所以这里有extension method使用它:

string myString = "Hello";

myString[1] = 'R'; // Produces an error.

可以这样使用:

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