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