从列表中删除包含某些子字符串的所有字符串

时间:2013-04-01 17:00:25

标签: c# list

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

 private void searchAlbumName(string search)
        {
            string[] cellVal;
            foreach (string x in albumList)
            {
                cellVal = x.Split(',');
                if (cellVal[0].ToString().Equals(search))
                {
                    //do delete here
                }
            }
        }

我不确定如何删除搜索名称为

的每张专辑

2 个答案:

答案 0 :(得分:11)

您可以使用RemoveAll来获得结果:

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

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

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

答案 1 :(得分:1)

使用LINQ执行

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

请参阅this帖子。