为什么我的List.Contains不起作用?

时间:2014-02-09 23:50:14

标签: c# string list contains

出于某种原因,我的代码不起作用。我已确认文件夹中有.idx和.log文件。有人可以帮忙吗?

感谢。

List<string> subDirList = new List<string>(Directory.GetFiles(srcPath, "*"));

if (subDirList.Contains(".idx") && subDirList.Contains(".log"))
{
    ...
}

1 个答案:

答案 0 :(得分:6)

subDirList包含文件名,不仅包含扩展名。这就是为什么你一无所获。

您应该将AnyEndsWith

一起使用
if (subDirList.Any(x => x.EndsWith(".idx")) && subDirList.Any(x => x.EndsWith(".log")))

或者如果.idx.log不是扩展名,而只是文件名的一部分,请使用Contains

if (subDirList.Any(x => x.Contains(".idx")) && subDirList.Any(x => x.Contains(".log")))