繁体   English   中英

如何获取与某些文件同名的目录的完整路径?

[英]How to get the full path of the directories with the same name as some files?

我在一个路径中有一些文本文件,我想在其他路径中找到带有文本文件名称的文件夹,如果存在,则将其完整路径获取到变量。 我做了这样的事情

var files=Directory.GetFiles(@"D:\C#\Sample files","*.txt",SearchOption.AllDirectories);
foreach (var file in files)
{
    var filename=Path.GetFileNameWithoutExtension(file);
    var folderFound = Directory.GetDirectories(@"D:\data", filename, SearchOption.AllDirectories).First();
    Console.WriteLine(folderFound);             
}

但是这里的问题是,当没有找到具有该名称的文件夹时,程序将引发异常...我该如何解决这个问题?

您正在对结果调用First() ,如果没有结果则抛出该错误。

而是调用FirstOrDefault() ,如果没有条目,则将返回null ,您可以在调用Console.WriteLine()之前检查该条目。

您应该删除First()并检查是否有任何结果

你可以做到

  if (folderFound.Any())
      Console.WriteLine(folderFound);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM