c# - - - Application.StartupPath(程序安装目录)和Environment.CurrentDirectory(程序工作目录)

Application.StartupPath

应用程序的安装目录,不会改变。

  1. 在C:\Users\Administrator\source\repos\ConsoleApp6\bin\Debug目录中,运行ConsoleApp6.exe。

    安装目录为:C:\Users\Administrator\source\repos\ConsoleApp6\bin\Debug

  2. 在C:\Users\Administrator\source\repos\ConsoleApp6目录中,运行bin\Debug\ConsoleApp6.exe

    安装目录为:C:\Users\Administrator\source\repos\ConsoleApp6\bin\Debug

Environment.CurrentDirectory

应用程序的工作目录,根据程序工作的目录进行改变。

  1. 在C:\Users\Administrator\source\repos\ConsoleApp6\bin\Debug目录中,运行ConsoleApp6.exe。

    工作目录为:C:\Users\Administrator\source\repos\ConsoleApp6\bin\Debug

  2. 在C:\Users\Administrator\source\repos\ConsoleApp6目录中,运行bin\Debug\ConsoleApp6.exe

    工作目录为:C:\Users\Administrator\source\repos\ConsoleApp6

代码

csharp 复制代码
static void Main(string[] args)
{
    Console.WriteLine("Application.StartupPath:" + Application.StartupPath);

    Console.WriteLine("Environment.CurrentDirectory:" + Environment.CurrentDirectory);

    Console.Read();
}

效果

Application.StartupPath 程序安装目录始终不会改变。

Environment.CurrentDirectory 程序工作目录会改变为程序工作所在的目录。

相关推荐
你好潘先生5 小时前
别再记命令了,用 yeero do 说句人话就能跑脚本,而且不烧 token
服务器·python·命令行
程序员老赵1 天前
服务器文件不想 SFTP 上传?Docker 跑个 File Browser,浏览器就能管理
服务器·docker·开源
vivo互联网技术1 天前
从 10 分钟到 1 秒:ES 深度分页任意跳页的三轮优化实战
服务器·数据库·redis·elasticsearch·深度分页
hez20103 天前
在 .NET 上构建超大托管数组
c#·.net·.net core·gc·clr
雨落倾城夏未凉8 天前
第四章c#方法-参数数组和可选参数(16)
后端·c#
唐青枫9 天前
线程不是越多越快:C#.NET Thread 生命周期、同步与后台工作线程实战
c#·.net
唐青枫10 天前
别只会反射:C#.NET Emit 动态生成代码实战详解
c#·.net
咕白m62510 天前
.NET 环境下 Word 超链接批量提取方案
c#·.net
用户917215619021110 天前
C# 通信协议增量解析:用状态机处理半包和粘包
c#