C#实现获取程序路径方法小结

C#实现获取程序路径方法小结

在开发C#程序时,有时候需要获取当前程序的路径,可以使用以下方法。

获取当前程序运行路径

以下是获取当前程序运行的路径的代码:

string path = AppDomain.CurrentDomain.BaseDirectory;
//或者使用以下逻辑
string path2 = System.IO.Directory.GetCurrentDirectory();

AppDomain.CurrentDomain.BaseDirectory方法返回当前应用程序域的基目录,也就是程序集的目录,而System.IO.Directory.GetCurrentDirectory()方法则返回当前工作目录。

两者的区别是:工作目录可能与应用程序集目录不同,尤其是当应用程序是作为一个启动器运行另一个应用程序时。

获取当前程序路径

以下是获取当前程序路径的代码:

string path = System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName;

使用System.Diagnostics命名空间下的Process.GetCurrentProcess()方法获取当前正在运行的进程,然后使用MainModule.FileName属性获取当前进程的文件名,即为当前程序路径。

需要注意的事项是,若是在Visual Studio环境下调试程序,则此方法可能会返回devenv.exe,因为程序是在Visual Studio环境下运行的。

示例说明

假设当前程序名为Test.exe,其目录为D:\Program Files\Test,执行以下代码:

Console.WriteLine(AppDomain.CurrentDomain.BaseDirectory);   //D:\Program Files\Test\
Console.WriteLine(System.IO.Directory.GetCurrentDirectory());  //D:\Program Files\Test
Console.WriteLine(System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName); //D:\Program Files\Test\Test.exe

若是在Visual Studio环境下调试程序,只需将程序拷贝到其他目录或打包为发布版本进行测试即可。

结论

通过以上方法,可以方便地获取当前程序路径或者当前程序运行路径。在开发中,根据实际情况,可以选择合适的方法获取当前路径。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#实现获取程序路径方法小结 - Python技术站

(0)
上一篇 2023年6月7日
下一篇 2023年6月7日

相关文章

  • C# TextReader.Read – 读取一个字符

    C#中的TextReader.Read方法用于从输入流中读取一个字符,并将该字符作为int类型返回。如果流已经位于末尾,则返回-1。 使用到TextReader.Read方法需要先实例化一个TextReader类的对象,常见的TextReader实例化有两种方式:StreamReader和StringReader。StreamReader从文件流中读取数据,…

    C# 2023年4月19日
    00
  • C# RSA分段加解密实现方法详解

    下面是“C# RSA分段加解密实现方法详解”的完整攻略。 标题 C# RSA分段加解密实现方法详解 简介 RSA加解密是非对称加密算法中的一种,而且常用于安全通信等场合。但是,由于RSA算法加密后密文较长,不适合直接用于加密数据量大于密文长度的数据。因此,需要对RSA加解密算法进行分段处理。本篇文章就详细介绍了如何使用C#实现RSA分段加解密的方法,并提供了…

    C# 2023年6月6日
    00
  • C#中的串口通信SerialPort详解

    C#中的串口通信SerialPort详解 什么是串口通信 串口通信是指通过电脑的串口与外设进行交互的一种通信方式。串口通信包含了一组信号线,用于在两个设备之间传输数据。串口通信包含了最基本的数据传输方式,也是最常用的通讯方式之一。 SerialPort类 在C#中,串口通信主要是使用SerialPort类来实现的。SerialPort类提供了串口通信中所有必…

    C# 2023年5月15日
    00
  • 磊科路由器初始密码是多少?磊科路由器默认密码大全

    磊科路由器是一种常见的家用路由器,它提供了安全的网络连接和管理功能。在使用磊科路由器时,您需要知道初始密码或默认密码。本攻略将深入探讨磊科路由器初始密码和默认密码,并提供两个示例说明。 磊科路由器初始密码 磊科路由器的初始密码是指在第一次使用路由器时,您需要输入的密码。磊科路由器的初始密码通常是“admin”。如果您已经更改了密码,那么初始密码将不再有效。 …

    C# 2023年5月17日
    00
  • 深入了解c# 匿名类型

    深入了解 C# 匿名类型攻略 什么是匿名类型 C# 中的匿名类型是一种可以在运行时创建对象的特殊类型。与其他类不同,匿名类型没有名字,它的定义在编写代码时不需要指定名称。通常,匿名类型用于临时存储数据和查询结果等场景。 在 C# 中,创建匿名类型主要依靠对象初始化器和隐式类型表达式语法。以下是一个简单的示例: var person = new { Name …

    C# 2023年5月31日
    00
  • 浅析依赖注入框架Autofac的使用

    浅析依赖注入框架Autofac的使用 什么是依赖注入 依赖注入(Dependency Injection,DI)是一种设计模式,它可以将组件的依赖关系设计清晰、易于维护、易于测试。依赖注入主要是通过构造函数、属性和接口注入的方式将组件依赖关系解耦。在DI中,组件不再关注如何获取依赖组件,而是将依赖的对象交由其他组件来注入。 Autofac框架简介 Autof…

    C# 2023年5月31日
    00
  • C#中List和数组之间转换的方法

    当我们在C#编程时,有时需要在List和数组之间进行转换。这里提供两种转换的方法: 方法一:使用List.ToArray()方法将List转为数组 我们可以使用List中的ToArray()方法来将List转为数组,如下所示: List<string> fruitsList = new List<string>{"apple…

    C# 2023年6月7日
    00
  • asp.net core为IHttpClientFactory添加动态命名配置

    ASP.NET Core为IHttpClientFactory添加动态命名配置攻略 在ASP.NET Core中,我们可以使用IHttpClientFactory来创建和管理HttpClient实例。在某些情况下,我们需要为不同的HttpClient实例提供不同的配置。本攻略将介绍如何为IHttpClientFactory添加动态命名配置,并提供两个示例说明…

    C# 2023年5月17日
    00
合作推广
合作推广
分享本页
返回顶部