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

How to validate multiple filenames inside string array in c#

在一个字符串数组-"files"中,存储了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 has 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");
}

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