C#和JS的转义序列

1.C#和JS对反斜杠的使用限制不同

在C#和JS中,反斜杠("\")都是作为转义序列的一部分。在JS中任何场合下都可以使用反斜杠,当它和背后的一个字符组合是一个转义序列时,就进行转义,否则,JS会忽略掉它,如下所示:

document.write("abc\"xy\z"); //结果为:abc"xyz

但在C#中,除了在使用转义序列(\'、\"、\\、\0、\a、\b、\f、\n、\r、\t、\v)的场合下其他地方不得再用反斜杠(除了使用逐字指定字符串),如下代码:

string str = "abc\"xy\z"; //提示后一个反斜杠为"无法识别的转义序列"

2.反斜杠在表示系统路径上的应用

因为反斜杠的特殊用途,所以用要表示系统路径都得用转义序列\\:

var str = "c:\\windows\\system32"; //JS
string str = "c:\\windows\\system32"; //C#

不过C#中还有另外一种表示法,使用逐字指定字符串,代码如下:

string str = @"c:\windows\system32";


评论: 0 | 引用: 0 | 查看次数: 5131
发表评论
登录后再发表评论!