如何用下一个char替换字符串值中的每个char?

时间:2012-12-21 06:16:20

标签: c#

如果我有这样的字符串变量:

string f = "ABC";

我想这样做:

f="CDE"

这意味着我想要获取此字符串中的每个字符并将其增加到接下来的2个值,如果我有'a'我想将其更改为'c'等等。

3 个答案:

答案 0 :(得分:8)

以下会将字符增加到+ 2,当字符在字母表中结束字符时,不确定您想要什么。

string f = "ABC";
string result = new string(f.Select(r =>(char) (r + 2)).ToArray());

对于字符串ABC,结果将为CDE,但对于字符串XYZ,结果将为Z[\

答案 1 :(得分:1)

您需要做的就是从字符串中获取单个字符,例如

string a = "aba";
char b = a[0]; //the value is equal to 'a'


Console.WriteLine((char)((int)b + 1));

然后将char转换为int并逐渐增加,然后将其转换回char

答案 2 :(得分:1)

您可以将字符串转换为char[],根据需要修改每个char,然后将结果转换回字符串,如下所示:

char[] chars = "ABC".ToCharArray();
for (int i = 0; i < chars.Length; i++)
{
    chars[i] += (char)2;
}
string result = new string(chars);
//    result == "CDE"