[英]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.