【问题标题】:Using DirectoryInfo in C#在 C# 中使用 DirectoryInfo
【发布时间】:2010-06-11 14:18:58
【问题描述】:

如果有更有效的方法来执行以下操作:

DirectoryInfo di = new DirectoryInfo(@"c:\");
newFileName = Path.Combine(di.FullName, "MyFile.Txt");

我意识到它只有两行代码,但鉴于我已经有了目录,感觉我应该可以做这样的事情:

newFileName = di.Combine(“MyFile.txt”);

编辑:

应该更清楚 - 我已经有了另一个目的的路径,所以:

DirectoryInfo di = MyFuncReturnsDir();
newFileName = Path.Combine(di.FullName, "MyFile.Txt");

【问题讨论】:

  • 这不需要修复,它已经尽可能的紧凑和可靠。您可以将它写在一行中,使其可读性降低。

标签: c# text-files directoryinfo


【解决方案1】:

为什么不直接newFileName = Path.Combine(@"c:\", "MyFile.Txt");

正如你所说,你已经有了路径。

【讨论】:

  • 我已经编辑了我的帖子 - 我有 DirectoryInfo 对象是有原因的
  • @pm_2:我不确定它是否会让事情变得更好,但如果你想在一行上写newFileName = Path.Combine(MyFuncReturnsDir().FullName, "MyFile.Txt");
  • 我只是想看看有没有更有效的方法。
【解决方案2】:

@ho1 是对的。

你也可以写一个扩展方法(C# 3.0+):

public static class DirectoryInforExtensions
{
  public static string Combine(this DirectoryInfo directoryInfo, string fileName)
  {
    return Path.Combine(di.FullName, fileName);
  }
}

并通过做来使用它

newFileName = di.Combine("MyFile.txt");

【讨论】:

    猜你喜欢
    • 2012-03-23
    • 2010-11-16
    • 1970-01-01
    • 1970-01-01
    • 2018-01-28
    • 1970-01-01
    • 2018-09-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多