关于c#:从列表中删除包含某些子字符串的所有字符串

remove all strings from list containing certain substring

我有一个叫AlbumList的字符串列表字符串具有以下结构:abc、abc、abc、abc、abc我要求用户搜索要删除的相册;如果找到该相册,它将从列表中删除。可能有多个同名相册要从列表中删除。

1
2
3
4
5
6
7
8
9
10
11
12
 private void searchAlbumName(string search)
        {
            string[] cellVal;
            foreach (string x in albumList)
            {
                cellVal = x.Split(',');
                if (cellVal[0].ToString().Equals(search))
                {
                    //do delete here
                }
            }
        }

我不知道如何删除每个搜索名为的相册


您可以使用RemoveAll得到结果:

1
albumList.RemoveAll(x => x.Split(',')[0].ToString().Equals(search))

为了便于阅读,您可以使用:

1
albumList.RemoveAll(x => x.Split(',').First().Equals(search))


使用LINQdo

1
albumList.RemoveAll(x => cellVal[0].ToString().Equals(search)));

看到这个帖子。