无需使用escape seq。对于'在C#?

时间:2011-01-20 13:13:59

标签: c# escaping

在MSDN上,我可以读到\'' char的转义序列。但是我可以在没有转义序列的字符串中使用它,如下所示:

Console.WriteLine("Press 'X' ");

怎么可能?

4 个答案:

答案 0 :(得分:7)

但是你怎么把它写成char

char c = '\'';

答案 1 :(得分:5)

char(单个字符文字)与string(多字符文字)不同的数据类型。

在C#中,char被声明为:

var c = 'c';

string声明为:

var s = "asdf";

正如您所看到的,单引号(')需要转义才能声明包含单引号的char

var c = '\''; 

答案 2 :(得分:3)

char文字需要进行{p> \'筛选。原因是'可以解释为文字边界字符。对于字符串来说它没有意义,因为没有什么可以混淆的。在strings依次\"有意义。

答案 3 :(得分:0)

它表示你必须为char数据类型转义'。

char c = ''';  // compiler throws error
char c = '\''; // valid