4.1 C#获取目录的3个方法的区别

C#中常用有如下3个获取目录的方式如下

1.Directory.GetCurrentDirectory():获取当前工作目录,工作目录可能被用户或其他代码修改。尽量少用。(似乎只要在运行中使用另存为或者打开某个文件夹,当前工作目录就修改)

2.Application.StartupPath(): 获取应用程序的启动目录,返回不带末尾的'\'

3.AppDomain.CurrentDomain.BaseDirectory:获取应用程序的启动目录,返回带有'\'

复制代码

结论:

  • 通用场景 :优先使用 AppDomain.CurrentDomain.BaseDirectory(更安全、跨平台兼容)。

  • WinForms 专用 :若需要无末尾反斜杠的路径,可使用 Application.StartupPath,但需注意平台限制。

  • Web 或服务 :必须使用 AppDomain.CurrentDomain.BaseDirectory,避免路径错误

复制代码
【修改当前工作路径的代码例子】:
static void Main()
    {
        // 获取当前工作目录
        string currentDir = Directory.GetCurrentDirectory();
        Console.WriteLine($"当前工作目录: {currentDir}");

        // 尝试修改工作目录
        Directory.SetCurrentDirectory(".."); // 切换到上级目录
        Console.WriteLine($"修改后的工作目录: {Directory.GetCurrentDirectory()}");
    }
相关推荐
椒颜皮皮虾1 天前
TensorRtSharp:在 C# 世界中释放 GPU 推理的极致性能
c#·tensorrt
行止951 天前
WinForms 彻底隐藏 滚动条的终极解决方案
c#
bugcome_com1 天前
WPF样式进阶实战:外置样式+MVVM主题切换+样式优先级全解析
c#·.net·wpf
时光追逐者1 天前
TIOBE 公布 C# 是 2025 年度编程语言
开发语言·c#·.net·.net core·tiobe
观无1 天前
固高运动控制卡(GST800)基础应用分享
c#
flysh051 天前
如何利用 C# 内置的 Action 和 Func 委托
开发语言·c#
逑之1 天前
C语言笔记1:C语言常见概念
c语言·笔记·c#
福大大架构师每日一题1 天前
2026年1月TIOBE编程语言排行榜,Go语言排名第16,Rust语言排名13。C# 当选 2025 年度编程语言。
golang·rust·c#
wangnaisheng1 天前
【C#】gRPC的使用,以及与RESTful的区别和联系
c#
JosieBook1 天前
【开源】基于 C# 和 Halcon 机器视觉开发的车牌识别工具(附带源码)
开发语言·c#