执行streamwriter时\
和/
有什么区别?
e.g。
示例1:
Streamwriter sw = new Streamwriter("/test folder/Output/test.txt");
和
示例2:
Streamwriter sw = new Streamwriter(@"\test folder\Output\test.txt");
我也看到你在第二个例子的前面需要@
符号。
答案 0 :(得分:4)
没有区别,因为.NET会识别路径中的one和the other。
但是,由于\
出现在字符串文字内(它是转义序列的开头)时具有特殊含义,因此第二个示例使用verbatim string literal语法。它本可以使用\\
代替\
。
答案 1 :(得分:2)
添加@
只会提高可读性,以@
开头的字符串只会在编译时将所有\
替换为\\
并\
在需要的地方添加。
答案 2 :(得分:1)
两者都是.NET中的有效路径分隔符。
IOW,这是完全一样的。
答案 3 :(得分:1)
\
通常在Windows中用于分隔目录,但我认为在大多数情况下它也会接受/
。
\
也需要转义,因此需要@
符号。你也可以使用\\
来逃避这个角色。
答案 4 :(得分:1)
因为\
启动转义字符。例如,"\""
将打印"
。如果您想将\
用作字符,则需要在字符串前添加@
或使用\\
。如您所见,它与path-s无关,两种形式都适用于streamwriter
。