这个程序是一个转换器程序,它接受一些符号并将它们转换为普通字母。问题是,当我尝试放一些符号时,比如:allAlphabets.Add("[]/[]"(;或:allAlphabets.Add("//"(,我得到一个关于UTF-16 的错误
static void Main(string[] args)
{
string input = ""; // string input
List<string> allAlphabets = new List<string>(); // storing to a list
input = Console.ReadLine();
char[] word = input.ToCharArray();
for (int i = 0; i < word.Length; i++)
{
switch (word[i]) // switch casce
{
normal letters
case 'm':
allAlphabets.Add("[]/[]"); // represents text as a sequence of utf-16 code units
break;
case 'n':
allAlphabets.Add("[][]"); // represents text as a sequence of utf-16 code units
case 'v':
allAlphabets.Add("/"); // represents text as a sequence of utf-16 code units
break;
case 'w':
allAlphabets.Add("//"); // represents text as a sequence of utf-16 code units
}
}
}
}
有人知道编码无法识别的转义序列的方法吗?非常感谢。
您需要使用逐字标识符(@
(
表示字符串文字将被逐字解释。
@
此实例中的字符定义了一个逐字逐句的字符串文字。易于理解的转义序列(例如反斜杠的"\"
(、十六进制转义序列(例如大写字母A的"x0041"
(和Unicode转义序列(例如大写字母A的"u0041"
(被解释字面上只有引号转义序列(""
(不被解释字面上它只产生一个引号。此外,如果逐字插入字符串大括号转义序列({{
和}}
(的并非字面解释;它们产生单括号字符。
allAlphabets.Add(@"[]/[]");
或转义反斜杠
allAlphabets.Add("[]\/[]")
其他资源
字符串(C#编程指南(
正则和逐字字符串文字
字符串转义序列