我需要用“ b”字符替换每个“ a”字符,用“ c”字符替换每个“ b”字符,依此类推。我试图用if来实现,但是每个字符的代码都非常长。是否存在一种无需if或switch或诸如此类的方法如何实现此目的的方法?
char[] chars = new char[inputString.Length];
for (int i = 0; i < inputString.Length; i++)
{
if (inputString[i] == 'a')
chars[i] = 'b';
else if (inputString[i] == 'b')
chars[i] = 'c';
else if (inputString[i] == 'c')
chars[i] = 'd';
else if (inputString[i] == 'd')
chars[i] = 'e';
else if (inputString[i] == 'e')
chars[i] = 'f';
else if (inputString[i] == 'f')
chars[i] = 'g';
else if (inputString[i] == 'g')
chars[i] = 'h';
else
{
chars[i] = inputString[i];
}
}
string outputString = new string(chars);
这是我需要更换的方式:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Z A B C D E F G H I J K L M N O P Q R S T U V W X Y
a b c d e f g h i j k l m n o p q r s t u v w x y z
b c d e f g h i j k l m n o p q r s t u v w x y z a
0 1 2 3 4 5 6 7 8 9
9 8 7 6 5 4 3 2 1 0
示例: 字符串:TEXTcsharp#2367 结果:SDWSdtibsq#7632
答案 0 :(得分:0)
您可以将其转换为#level-title {
font-family: 'Press Start 2P', cursive;
font-size: 3rem;
margin: 2%;
color: #FEF2BF;
}
并添加1:
int
这可行,因为每个char[] chars = new char[inputString.Length];
for (int i = 0; i < inputString.Length; i++)
{
chars[i] = (char)(inputString[i] + 1);
}
string outputString = new string(chars);
都有一个numeric representation。但是,对于char
左右,您可能需要一些额外的逻辑(取决于是否要将值限制为字母)。
此外,由于此标记有crypt:如果要进行加密,请使用Cryptography,而不要自己动手加密。甚至安全专家在创建安全的人时也遇到问题。
答案 1 :(得分:0)
您可以这样做
string abc = "abcdefghijklmnopqrstuvwxyz";
string bcd = new string(abc.Select(x => x == 'z' ? 'a' : (char)(x + 1)).ToArray());