如何在 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 mdN
和 mdNBP
并且相同的顺序最多有 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");
}
如果您有更多文件,那么您可以循环文件数组并检查它应该包含的列表。
在一个字符串数组-"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 mdN
和 mdNBP
并且相同的顺序最多有 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");
}
如果您有更多文件,那么您可以循环文件数组并检查它应该包含的列表。