各种路径(相对路径,绝对路径,启动路径,工作路径,基础路径)--C# WinForm

           

前言

作为程序员,我们在读取或者写入文件时,经常会遇到写的相对路径有问题:明明文件就在那里,看的到,就是“摸不到”,很难受;然后将其写成绝对路径就解决了。一般时候,解决了就觉得万事大吉了,确实项目就没问题了,但是我们会有这样的疑问:相对路径不是指和运行文件相对的路径嘛,怎么会找不到?自己电脑没问题,为什么搁别人电脑就有问题了?

下面我将介绍一下为什么会出现这种情况,和其他路径 的意义。

理论说明

路径的含义

绝对路径:绝对路径是指目录下的绝对位置,直接到达目标位置,通常是从盘符开始的路径;完整的描述文件位置的路径就是绝对路径。

相对路径:相对路径就是指由这个文件所在的路径引起的跟其它文件(或文件夹)的路径关系,即是从当前路径开始的路径。

工作路径:也可叫当前路径,顾名思义,就是现在工作的路径,-_-||

启动路径:启动程序exe所在的路径

基础路径:是获取基目录,它由程序集冲突解决程序用来探测程序集,即程序集所在的路径。

补充
程序集,经由编译器编译得到的,供CLR进一步编译执行的那个中间产物,在WINDOWS系统中,它一般表现为·dll或者是·exe的格式。

一般当前项目的基础路径和启动路径是相同的,如果是项目刚启动,那么当前路径,基础路径和启动路径是一样的。

 

相对路径有时候为什么找不动文件

从上面我们了解到:相对路径,相对的是工作路径(当前路径)。分析一下,在相对路径找不到东西,也就是工作路径变了,什么情况工作路径变了?当别的程序调用我们写的exe或dll时,工作路径就变成了别的程序的工作路径,这样相对路径不一样,自然就找不到。

所以,写程序时,一般情况下,不要写相对于工作路径的相对路径,这样很容易出错。我们可以写相对启动路径的相对路径,因为你的exe(或dll)就在那里,对你不离不弃。

 

代码说明(基于WinForm)

工作路径:   System.Environment.CurrentDirectory;

基础路径:AppDomain.CurrentDomain.BaseDirectory;

启动路径:Application.StartupPath;

结束语

我现在开始写C#了,后面C#请多多指教,当然Qt,我也不想放弃。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值