C#路径中使用斜杠/和反斜杠\的区别
C#代码中使用图片、视频、.doc、.xls等文件时都要先获得文件路径,但是有的路径用斜杠/作为分隔符,
有的路径用反斜杠\作为分隔符,搞得我有点蒙圈,查阅了一些资料后终于弄清楚使用斜杠/和反斜杠\的区别是什么。
Unix使用斜杠/作为路径分隔符,而Web应用最新使用在Unix系统上面,所以目前所有的网络地址都采用斜杠/作为分隔符。
Windows由于已经使用斜杠/作为DOS命令提示符的参数标志了,为了不混淆所以采用反斜杠\作为路径分隔符。
所以目前Windows系统上的文件浏览器都是用反斜杠\作为路径分隔符。
随着发展,DOS系统已经被淘汰了,命令提示符也用得很少,斜杠和反斜杠在大多数情况下可以互换。
知道这个背景后,可以总结一下结论:
- 浏览器地址栏中的网址使用 斜杠/ 作为路径分隔符
- Windows文件浏览器使用 反斜杠\作为路径分隔符
- 出现在html url()属性中的路径,指定的是网络路径,所以必须用斜杠/
//如果url后面用反斜杠\,则不会显示任何背景
<div style="background-image:url(/Image/Control/title.png);background-repeat:repeat-x;padding:10px 10px"></div>
-
出现在普通字符串中的路径,如果表示Windows文件路径,则使用斜杠/和反斜杠\是一样的;如果代表的是网络文件路径,则必须使用斜杠/
<!--本地路径/和\是等效的--> <img src=".\Image\20161025\guo.jpg" /> <img src="./Image/20161025/guo.jpg" /> <img src=".\Image/20161025/guo.jpg" /> <img src="./Image\20161025\guo.jpg" /> <!--网络文件路径一定要使用反斜杠\--> <img src="http://img6.bdstatic.com/img/image/smallpic/chongwu10120.jpg"
斜杠/和反斜杠\的区别基本上就是这些了,下面说一下相对路径和绝对路径。
./Images/这样写表示,当前目录中的Images文件夹
../Images/这样写表示,当前目录的上一层目录中的Images文件夹
/Images/这样写表示,项目根目录(可以指磁盘跟目录,也可以指项目根目录,据实际情况而定)