在C#中,有很多方式可以获取程序运行的当前目录,常见的方式有:
1、string strPath1 = System.Environment.CurrentDirectory() ;
2、string strPath2 = System.IO.Directory.GetCurrentDirectory() ;
3、string strPath3 = System.AppDomain.CurrentDomain.Basedirectory; //返回当前程序运行目录,包括最后一个""符号
看起来这三条语句都可以用于获取程序所在的目录的绝对路径,如果程序一开始执行就调用这三条语句,都会返回程序所在目录的绝对路径。
但是,在程序中调用了系统的文件选择框之后,这三条语句的执行结果会完全不同,具体结果如下:
语句1和语句2会返回之前所选择的文件所在目录的绝对路径;
语句3仍然返回程序所在目录的绝对路径。
总结:
如果要获取程序的所在目录的绝对路径,使用语句3更为安全。