Использование DirectoryInfo в C # - PullRequest
0 голосов
/ 11 июня 2010

Если есть более эффективный способ сделать следующее:

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");

Ответы [ 2 ]

5 голосов
/ 11 июня 2010

Почему бы просто не сделать newFileName = Path.Combine(@"c:\", "MyFile.Txt");?

Как вы говорите, у вас уже есть путь.

2 голосов
/ 11 июня 2010

@ 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");
...