此程序是一个翻译程序,它接受一些符号并将其转换为普通字母。问题是,当我尝试放置一些符号时: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
}
}
}
}
有人知道一种编码无法识别的转义序列的方法吗?谢谢!
您需要使用verbatim identifier(@
)
表示要逐字解释字符串文字。
@
在这种情况下,字符定义逐字字符串文字。简单转义序列(例如反斜杠的"\\"
),十六进制转义序列(例如大写字母A的"\x0041"
)和Unicode转义序列(例如大写字母A的"\u0041"
)被解释从字面上看。仅解释引号转义序列(""
)字面上它产生一个单引号。另外,以防万一逐字插入的字符串大括号转义序列({{
和}}
)没有字面解释;他们产生大括号字符。
allAlphabets.Add(@"[]\/[]");
或转义反斜线
allAlphabets.Add("[]\\/[]")
其他资源