【发布时间】:2011-01-22 15:24:39
【问题描述】:
【问题讨论】:
-
有趣的事实:您还可以使用文字前缀来区分标识符和关键字。
Int32 new;无效,但Int32 @new;无效。
标签: c#
【问题讨论】:
Int32 new; 无效,但 Int32 @new; 无效。
标签: c#
在 C 和 C++ 中,字符串有一些特殊字符,称为“转义字符”。例如\、& 和" 本身就是一个转义字符!
以非常正常的方式,您可以打印如下语句:
南希说你好,世界!笑了
你必须像下一个一样设置你的字符串
string str = "Nancy said Hello World! \& smiled.";
但是微软的人在 C# 编译器中做了一个新的很酷的功能,所以你可以通过在任何字符串前添加@ 来避免处理转义字符的麻烦,编译器会自己处理所有的转义字符。对于最后一个示例,您可以在 C# 中使用它,如下所示:
string str = @"Nancy said Hello World! & smiled.";
【讨论】:
它允许你有一个带有\ 分隔符的字符串。 @"C:\A\b\c\d\e\f" 是合法的。
【讨论】:
表示这样的字符串不需要转义字符。
所以如果你想写c:\Windows的路径,你可以写成
string path = "c:\\Windows"; // Note escaped '\'
或
string path = @"c:\Windows"; // '\' need not be escaped
【讨论】:
这意味着将以下字符串解释为文字。意思是,字符串中的\ 实际上是输出中的"\",而不是必须将"\\" 表示文字字符
【讨论】:
在字符串之前它允许不同的字符串格式规则。您不能使用反斜杠来指定特殊符号和“”(双引号变成引号)。我发现这种格式对正则表达式非常有用
例子
Console.WriteLine(@"\n""\/a"); // outputs \n"\/a
Console.WriteLine("\\n\"\"\\/a"); // outputs \n"\/a
您可能还会在变量之前看到@符号。在这种情况下,它允许使用特殊的 C# 关键字作为变量。
例子:
var @switch = 1;
var @if = "test";
【讨论】:
有两种类型的字符串文字,常规的和逐字的。 @ 符号使其成为逐字字符串文字。
【讨论】:
逐字字符串文字以@开头 并且还包含在双 引号。例如:
@"good morning" // a string literal
来自,请查看示例上方的最后几行以获取更多信息。 http://msdn.microsoft.com/en-us/library/362314fe.aspx
用于字符串文字。它将引号 (") 标记内的字符串标记为值,而不对该字符串中的符号应用任何解释。
【讨论】: