如何在c#中验证字符串数组中的多个文件名



字符串数组内部-"文件";,存储了10个文件路径。例如,我展示了其中的2个,

[0] C:\Users\17\Documents\FS\D\mdN_2903.dat
[1] C:\Users\17\Documents\FS\D\mdNBP_29032.dat

我想使用他们的文件名(在编号和扩展名.dat之前(以及在c#.net 中计数的文件数量来验证

我试着这样使用它,但它没有通过,即使文件存在

if(Array.Exists(files,e => e.Contains("mdN_") && e.Contains("mdNBP_") && e.count()==10)) { // All 10 files are present }

有没有其他方法可以在c#中实现这一点,请解释一下?

如果你的文件数组总是有2个mdNmdNBP,并且最多有10个文件,你可以这样做:

if (files[0].Contains("mdN") && files[1].Contains("mdNBP") && files.Length == 10)
{
Console.WriteLine("all good");
}

你也可以使用linq作为例子,它可以用不同的方式来完成,这里的顺序无关紧要,它只是检查你的文件是否符合上面提到的值:

if (files.Any(e => e.Contains("mdN") && e.Contains("mdNBP") && files.Length == 10))
{
Console.WriteLine("all good");
}

如果您有更多的文件,那么您可以对文件数组进行for循环,并对照它应该包含的内容列表进行检查。

最新更新