string str=@".....文件路径........";
Path.GetFileName(Str)//返回文件名
Path.GetFileNameWithoutExtension(Str)//返回文件名且没扩展名
Path.GetExtension()//获得扩展名
Path.GetDirectoryName()//获得所在文件夹的名称,就是去除文件名的部分
Path.GetFullPath()//从 获得所在文件的全路径,支持..\a\b的方式获得路径
Path.Combine(string,string)//连接两个字符串,自动处理路径分隔符的问题自动增加 \
string path=Application.StartupPath获得exe文件所在路径
string ChangeExtension(string path, string extension)//修改扩展名
Path.GetTempPath()//获得临时文件夹目录
Path.GetTempFileName()//得到一个唯一的临时文件名
//获取当前进程的完整路径,包含文件名(进程名)。
string str = this.GetType().Assembly.Location;
//获取新的 Process 组件并将其与当前活动的进程关联的主模块的完整路径,包含文件名(进程名)。
string str1 = System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName;
//获取和设置当前目录(即该进程从中启动的目录)的完全限定路径。
string str2 = System.Environment.CurrentDirectory;//bin/debug/
//获取当前 Thread 的当前应用程序域的基目录,它由程序集冲突解决程序用来探测程序集。
string str3 = System.AppDomain.CurrentDomain.BaseDirectory;//bin/debug/
//获取和设置包含该应用程序的目录的名称。
string str4 = System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase;
//获取应用程序的当前工作目录(不可靠)。
string str5 = System.IO.Directory.GetCurrentDirectory();
//程序集最初的位置 ,***,CodeBase might not be set when the assembly is in the GAC
System.Reflection.Assembly.GetExecutingAssembly().CodeBase;
在单元测试中的情况
0 C:\Users\Recod\AppData\Local\Temp\38b08ba5-cc5e-4668-ac29-a9ac5c015f01\38b08ba5-cc5e-4668-ac29-a9ac5c015f01\assembly\dl3\4371cbdc\c44fbc4f_5eadd201\Library.Test.dll
1 C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO\2017\ENTERPRISE\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\TESTWINDOW\vstest.executionengine.x86.exe
2 E:\Codes\VSCodes\WXLibrary\Library.Test\bin\Debug
3 E:\Codes\VSCodes\WXLibrary\Library.Test\bin\Debug
4 E:\Codes\VSCodes\WXLibrary\Library.Test\bin\Debug
5 E:\Codes\VSCodes\WXLibrary\Library.Test\bin\Debug
6 file:///E:/Codes/VSCodes/WXLibrary/Library.Test/bin/Debug/Library.Test.DLL
Uri baseUri = new Uri("http://www.contoso.com");
Uri myUri = new Uri(baseUri, "catalog/shownew.htm");