我有点困惑。我认为c#中的“@”是一个标志,用于像@“C:\ Users ...”那样逐字地解释文本。它避免了需要双反斜杠。为什么即使路径包含@之前的路径,路径也能工作“\”
但是,为什么路径也可以工作,如果他们包含双反斜杠和@? 铁:
var temp = File.ReadAllText(@"C:\\Users\\text.txt").ToString(); // no error
我这种情况下,必须将字符串字面意思是“C:\\ \\用户的text.txt” - 以前的,因为“@” - 这是不是一个有效的Windows路径(编辑:多数民众赞成错了,它是一个有效的路径,只有探险家不会接受它 - 感谢Muctadir Dinar),那么为什么这个工作?
在此先感谢
多路径分隔符被解释为单路径分隔符。 –
这是一条有效的路径。在具有多路径分隔符的命令提示符(cmd)中尝试cd命令。 – Muctadir
谢谢Muctadir Dinari,我在资源管理器中试过这个会引发错误,我没有想过cmd。也感谢gp,这是很重要的知道(我搜索Msdn之前,没有找到任何东西)。 – BudBrot