C#获取当前路径 -- 7种方法

目录

一、代码

二、路径区别

三、参考文献


一、代码

推荐使用第3种

    internal static class Program
    {
        static void Main()
        {
            //获取模块的完整路径。
            string path1 = System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName;
            //获取和设置当前目录(该进程从中启动的目录)的完全限定目录
            string path2 = System.Environment.CurrentDirectory;
            //获取应用程序的当前工作目录
            string path3 = System.IO.Directory.GetCurrentDirectory();
            //获取程序的基目录
            string path4 = System.AppDomain.CurrentDomain.BaseDirectory;
            //获取和设置包括该应用程序的目录的名称
            string path5 = System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase;
            //获取启动了应用程序的可执行文件的路径
            string path6 = System.Windows.Forms.Application.StartupPath;
            //获取启动了应用程序的可执行文件的路径及文件名
            string path7 = System.Windows.Forms.Application.ExecutablePath;

            Console.WriteLine($"--path1--{path1}");
            //结果显示:--path1--C:\Users\Rush\Desktop\C#\获取当前路径\bin\Debug\获取当前路径.exe

            Console.WriteLine($"--path2--{path2}");
            //结果显示:--path2--C:\Users\Rush\Desktop\C#\获取当前路径\bin\Debug

            Console.WriteLine($"--path3--{path3}");
            //结果显示:--path3--C: \Users\Rush\Desktop\C#\获取当前路径\bin\Debug

            Console.WriteLine($"--path4--{path4}");
            //结果显示:--path4--C: \Users\Rush\Desktop\C#\获取当前路径\bin\Debug\

            Console.WriteLine($"--path5--{path5}");
            //结果显示:--path5--C:\Users\Rush\Desktop\C#\获取当前路径\bin\Debug\

            Console.WriteLine($"--path6--{path6}");
            //结果显示:--path6--C: \Users\Rush\Desktop\C#\获取当前路径\bin\Debug
            Console.WriteLine($"--path7--{path7}");
            //结果显示:--path7--C:\Users\Rush\Desktop\C#/获取当前路径/bin/Debug/获取当前路径.exe

            string resultString = Regex.Match(path3, @".*(?=bin\\Debug)").Value;
            Console.WriteLine(resultString);
            //结果显示:C: \Users\Rush\Desktop\C#\获取当前路径\
        }
    }

二、路径区别

System.IO.Directory.GetCurrentDirectory()方法-- - 随着OpenFileDialog、SaveFileDialog等对象所确定的目录而改变

System.Windows.Forms.Application.StartupPath()和
System.AppDomain.CurrentDomain.BaseDirectory() 值等于应用程序启动的根目录

三、参考文献

http://t.csdn.cn/77fOuhttp://t.csdn.cn/77fOu


如有错误,烦请批评指正

你可能感兴趣的:(C#基础点,c#,开发语言)