C#中 加载图片时候的相对路径

我看到一个程序的语句是:
string Path = Application.StartupPath.Substring(0,Application.StartupPath.Substring(0,Application.StartupPath.LastIndexOf("\\")).LastIndexOf("\\"));

Path += @"\01.jpg";

请问这个语句的相对路径如何理解,在之前有用到imagelist属性加载image么 ?
最新回答
茉莉花的清香

2024-11-22 09:28:56

首先你要明白
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
南巷末栀

2024-11-22 09:57:27

这个相对路径就是取你的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"

这个要看具体情况处理的
心素如简人淡如菊

2024-11-22 09:49:48

双斜杠\\和@,都是为转义字符用的