从列表中删除元素或根本不添加元素

时间:2019-07-03 10:27:23

标签: c# list foreach

我有文件名列表。 我需要排除名称中带有关键字的文件。

我尝试过:

List<string> fileList = Directory.GetFiles(path).ToList();    
foreach (string file in fileList)
    {
        if (file.Contains("KEYWORD"))
        {
             fileList.Remove(file);
        }
    }

我遇到的错误:集合已被修改。枚举操作可能无法启动。 但这是行不通的。您知道为什么还是有更好的解决方案?

谢谢。

1 个答案:

答案 0 :(得分:1)

尝试一下

  List<string> fileList = new List<string>();
        fileList.Add("ioerhg");
        fileList.Add("ioerhg");
        fileList.Add("KEYWORD");

        List<string> fileListNew  = fileList.Where(x => !x.Contains("KEYWORD")).ToList();