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()}");
    }
相关推荐
kaikaile19957 小时前
数字全息图处理系统(C# 实现)
开发语言·c#
wearegogog12312 小时前
C# .NET 文件比较工具 WinForms
开发语言·c#·.net
糖不吃12 小时前
WPF值转换器
c#
Popeye-lxw14 小时前
由罗技 K380 键盘 FN 键模式切换引发的血案
c#
FL162386312914 小时前
C# OpenCvSharp 基于霍夫变换直线检测的文本图像倾斜校正文本图像倾斜校
开发语言·c#
aini_lovee16 小时前
C# 快递单打印系统(万能套打系统)
开发语言·c#
白菜上路16 小时前
C# Serilog.AspNetCore基本使用
c#·serilog
小白不白11116 小时前
C# WinForm 与 VP 二次开发
开发语言·c#
SunnyDays101117 小时前
如何使用 C# 自动调整 Excel 行高和列宽
开发语言·c#·excel
itgather18 小时前
OfficeExcel — Word / Excel DLL 验证台功能介绍
c#·word·excel