我有 3 个不同的目录,其中的文件可用于进一步处理。
try/catch
.这是下面的代码,问题是,获取上述功能的文件路径的最佳方法是什么?
private static string GetRealPath()
{
const string filePath1 = @"C:\temp1\";
const string filePath2 = @"C:\temp2\";
const string filePath3 = @"C:\temp\";
//looks for file in @"C:\temp1\
try
{
if (Directory.EnumerateFileSystemEntries(filePath1, "*.txt").ToList().Count > 0)
{
return filePath1;
}
}
catch (Exception e) { Console.WriteLine(e); }
//looks for file in @"C:\temp2\
try
{
if (Directory.EnumerateFileSystemEntries(filePath2, "*.txt").ToList().Count > 0)
{
return filePath2;
}
}
catch (Exception e) { Console.WriteLine(e); }
//looks for file in @"C:\temp\
try
{
if (Directory.EnumerateFileSystemEntries(filePath3, "*.txt").ToList().Count > 0)
{
return filePath3;
}
}
catch (Exception e) { Console.WriteLine(e); }
return string.Empty;
}
你可以Directory.Exists
改用:
public static string GetFirstValidPath()
{
string[] paths = { @"C:\temp1\", @"C:\temp2\", @"C:\temp\"};
return paths.FirstOrDefault(p=> Directory.Exists(p)
&& Directory.EnumerateFileSystemEntries(p, "*.txt").Any()) ?? string.Empty;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句