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 程序工作目录会改变为程序工作所在的目录。

相关推荐
恋恋西风43 分钟前
C++ 理解 std::thread 在单核和多核上的行为差异
开发语言·c++
Brilliantwxx1 小时前
【Linux】 进程(9)程序与进程地址空间(基础+进阶+面试题)
linux·运维·服务器·开发语言·c++
不怕犯错,就怕不做1 小时前
git prune 自动删除本地记录中那些远程已经不存在的分支引用
linux·服务器·git
BizzZ_2 小时前
C++(22)——类型转换和IO流
开发语言·c++
小范同学_2 小时前
JDK1.7 与 JDK1.8 HashMap 底层原理对比 + 数组并发扩容死循环详解
java·开发语言
geovindu2 小时前
CSharp: 万年历
开发语言·后端·c#·.net
weixin_416667962 小时前
【无标题】
运维·服务器·网络
我找到地球的支点啦2 小时前
Matlab系列(009) 一CRC循环冗余校验详解
开发语言·数据结构·算法·matlab·信息与通信
予昊3 小时前
从零实现“在线五子棋对战“:WebSocket 实时通信 + 段位匹配
java·开发语言·网络·websocket
weixin_461408583 小时前
Mybatis-flex小记
java·开发语言·mybatis