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# 如何获取处于运行中的Excel、Word对象

    获取处于运行中的Excel、Word对象的完整攻略如下: 获取Excel对象 引入COM组件库: csharp using System.Runtime.InteropServices; 获取进程中Excel对象: csharp // 获取Excel进程 object objExcel = Marshal.GetActiveObject(“Excel.App…

    C# 2023年5月15日
    00
  • C#基于简单工厂模式实现的计算器功能示例

    C#基于简单工厂模式实现的计算器功能示例 概述 本文将介绍如何基于简单工厂模式实现一个计算器功能的示例。我们会通过编写C#代码来实现一个简单的计算器,能够支持加、减、乘、除四种运算。 简单工厂模式 在讲解示例之前,我们先来了解一下简单工厂模式。简单工厂模式是一种创建型设计模式,它提供了一个工厂方法来创建对象。这种模式可以被认为是实现了基本的对象创建的代码复用…

    C# 2023年6月7日
    00
  • C#字符串常见操作总结详解

    C#字符串常见操作总结详解 本文将为您详细介绍C#中关于字符串的常见操作,包括字符串的创建、比较、连接、替换、分割、转换等操作。 字符串的创建 在C#中,字符串可以通过以下方式创建: 字符串字面量 csharpstring str1 = “hello, world”; 使用关键字new创建字符串对象 csharpstring str2 = new strin…

    C# 2023年5月15日
    00
  • Asp.Net Core使用swagger生成api文档的完整步骤

    在ASP.NET Core中,可以使用Swagger来生成API文档。本攻略将深入探讨如何使用Swagger生成API文档,并提供两个示例说明。 使用Swagger生成API文档 使用Swagger生成API文档的步骤如下: 1. 添加Swashbuckle.AspNetCore包 我们需要添加Swashbuckle.AspNetCore包来使用Swagge…

    C# 2023年5月17日
    00
  • C#实现封面图片生成器的示例代码

    下面我将为你详细讲解使用C#实现封面图片生成器的完整攻略。 1. 确定需求 在实现封面图片生成器前,我们需要明确需求: 需要生成一张图片 图片需要包含标题、封面图等元素 生成的图片需要具有可定制性 2. 安装依赖项 我们需要安装以下两个依赖项: SkiaSharp:是一个开源的2D图形库,适用于各种.NET平台。该库提供了对Skia图形引擎的封装,使开发者可…

    C# 2023年6月3日
    00
  • C#实现的算24点游戏算法实例分析

    C#实现的算24点游戏算法实例分析 什么是算24点游戏? 算24点游戏是一种益智游戏,要求玩家根据给定的4个数字,通过加、减、乘、除等数学运算,最终得到结果为24的解。 实现算法需要掌握的知识 算数运算符:加法、减法、乘法、除法 基础数据类型:整型、浮点型 数组:存储4个数字 递归算法:遍历所有可能的数字组合 算法实现步骤 输入4个数字 遍历所有可能的数字排…

    C# 2023年6月1日
    00
  • C#判等对象是否相等的方法汇总

    接下来我将为你详细讲解“C#判等对象是否相等的方法汇总”的完整攻略。 1. 前言 在C#中,对象相等判断是我们常见的操作之一。在实际应用中,我们可能会遇到很多情况需要判断两个对象是否相等,但是C#中的判断方式往往让我们比较困惑。因此,本篇文章总结了一些常用的判断方式,帮助您更好地理解和使用C#中的对象相等判断方法。 2. 常用的判断方式 2.1 == 和 !…

    C# 2023年6月1日
    00
  • asp实现二进制字符串转换为Unicode字符串

    实现二进制字符串转换为Unicode字符串,可以通过以下步骤来完成: 将二进制字符串转换为byte数组。可以通过将二进制字符串每8位作为一个byte元素,将这些byte元素组成一个byte数组,来实现二进制字符串转换为byte数组。 示例1: 假设有以下二进制字符串:01100001011100100111001101110100 按照每8位作为一个byte…

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