gpt4 book ai didi

c# - 一个好的 C# 文件路径生成器库?

转载 作者:行者123 更新时间:2023-11-30 18:54:16 25 4
gpt4 key购买 nike

<分区>

众所周知,.NET 中的

System.IO.Path 使用起来很笨拙。在我的各种项目中,我不断遇到相同的使用场景,这些场景需要使用 Path.CombinePath.GetFileName 的重复、冗长且因此容易出错的代码片段Path.GetDirectoryName, String.Format 等场景如:

  • 更改给定文件名的扩展名
  • 更改给定文件名的目录路径
  • 使用字符串格式构建文件路径(如“Package{0}.zip”)
  • 在不使用硬编码目录分隔符的情况下构建路径,例如 \(因为它们不能在 Linux on Mono 上运行)
  • 等等等等

在开始编写我自己的 PathBuilder 类或类似的东西之前:在 C# 中是否有这种东西的良好(且经过验证)的开源实现?

更新:好的,只是说明我的意思:

        string zipFileName = Path.GetFileNameWithoutExtension(directoryName) + ".zip";
zipFileName = Path.Combine(
Path.GetDirectoryName(directoryName),
zipFileName);

更好的流畅 API 可能如下所示:

Path2 directoryName = "something";
Path2 zipFileName = directoryName.Extension("zip");

或者在构建路径时:

Path2 directoryName = "something";
Path2 directory2 = directoryName.Add("subdirectory")
.Add("Temp").Add("myzip.zip");

代替

string directory2 = Path.Combine(Path.Combine(Path.Combine(
directoryName, "subdirectory"), "Temp"), "myzip.zip");

我过去确实实现过类似的东西,但在一个单独的项目中。我现在决定将它作为一个独立的 C# 类重用,在我的其他项目中的 VisualStudio 中添加“作为链接”。这不是最干净的解决方案,但我想它会做。如果您有兴趣,you can see the code here .

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com