Application.StartupPath.Substring(0,Application.StartupPath.Substring(0,Application.StartupPath.LastIndexOf(“\\”)).LastIndexOf(“\\”))这句代码神马意思?这是指的哪条路径?
首先你要明白
1.Application.StartupPath
获取启动了应用程序的可执行文件的路径,不包括可执行文件的名称;
例如C:\App\Baidu\bin\Debug
2.SubString
这个是截取方法;
3.LastIndexOf
这个是取最后一个匹配的位置;
以上三个东西你明白了,就可以搞清楚了!
其实你的语句是想获取到项目路径,因为用了LastIndexOf三次,
//假如应用程序的可执行文件的路径是C:\App\project\gar\bin\Debug
string startupPath = Application.StartupPath;//值是:C:\App\project\gar\bin\Debug
startupPath = startupPath.Substring(0, startupPath.LastIndexOf(“\\”));//这里把\\Debug移除了,//值是:C:\App\project\gar\bin
startupPath = startupPath.Substring(0, startupPath.LastIndexOf(“\\”));//这里把\\bin移除了,//值是:C:\App\project\gar
startupPath += “@\\01.jpg”;//值是:C:\App\project\gar\01.jpg
补充:
这个相对路径就是取你的exe所在目录之后,去掉最后两个\后的部分,比如说你把exe放在桌面运行,那Application.StartupPath的值就比如是C:\Documents and Settings\Administrator\桌面
string Path = Application.StartupPath.Substring(0,Application.StartupPath.Substring(0,Application.StartupPath.LastIndexOf(“\\”)).LastIndexOf(“\\”));
运行这句之后,path就等于C:\Documents and Settings
再加上后面的Path += @”\01.jpg”;
Path就等于“C:\Documents and Settings\01.jpg”