C# Console.WriteLine(“单引号”)之间的区别是什么;和Console.WriteLine(“双引号”);

C# Console.WriteLine(“单引号”)之间的区别是什么;和Console.WriteLine(“双引号”);,c#,.net,console,C#,.net,Console,为什么VisualStudio在上抛出错误 Console.WriteLine('string with single quote'); 而不是在: Console.WriteLine("string with double quote"); ? 谢谢。单引号用于字符数据类型,该类型只能使用一个字符,因此得名,不包括转义值,如'\n'、'\r'等,这些值在编译时仍然表示一个字符 双引号用于表示UTF-16编码字符串,每个字符2个字节,不是ASCII,并且不是.NET的默认值-UTF-16,

为什么VisualStudio在上抛出错误

Console.WriteLine('string with single quote');
而不是在:

Console.WriteLine("string with double quote"); 
?

谢谢。

单引号用于字符数据类型,该类型只能使用一个字符,因此得名,不包括转义值,如'\n'、'\r'等,这些值在编译时仍然表示一个字符

双引号用于表示UTF-16编码字符串,每个字符2个字节,不是ASCII,并且不是.NET的默认值-UTF-16,但不能处理所有已知的字符集。

单引号用于字符数据类型,该类型只能使用一个字符,因此名为“\n”、“r”等转义值除外。,它们在编译时仍然表示单个字符


双引号用于表示UTF-16编码字符串,每个字符2个字节,而不是ASCII,并且不是.NET的默认值-UTF-16,但不能处理所有已知字符集。

Console.WriteLine将接受字符文字。因此,当您尝试传递超过1个字符时,它将生成一个错误


而Console.WriteLine将接受可以包含单词的字符串。

Console.WriteLine将接受字符文本。因此,当您尝试传递超过1个字符时,它将生成一个错误


虽然Console.WriteLine将接受可以包含单词的字符串。

过于泛化,这是完全合法的:Char c='\t'@TimSchmelter:是和否。您的示例仍然会存储单个字符。\t是制表符的转义码。只是想指出字符文字不需要有单个字符,有一些转义序列。也许是吹毛求疵;太笼统了,这是完全合法的:Char c='\t'@TimSchmelter:是和否。您的示例仍然会存储单个字符。\t是制表符的转义码。只是想指出字符文字不需要有单个字符,有一些转义序列。也许是吹毛求疵;