在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更为安全,这点需要注意。