我看到一个程序的语句是: string Path = Application.StartupPath.Substring(0,Application.StartupPath.Substring(0,Application.StartupPath.LastIndexOf("\\")).LastIndexOf("\\")); Path += @"\01.jpg";请问这个语句的相对路径如何理解,在之前有用到imagelist属性加载image么 ?
首先你要明白1.Application.StartupPath获取启动了应用程序的可执行文件的路径,不包括可执行文件的名称;例如C:\App\Baidu\bin\Debug2.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"这个要看具体情况处理的