C# 使用值删除字典中的项

C# 使用值删除字典中的项,c#,C#,我有一个字典,你可以通过在列表框中搜索来添加卡片,但是现在如果用户按下按钮,我希望能够从字典中删除该项。这里是我用来向字典添加值的代码 if (!m_banlists[BanList.Items[BanList.SelectedIndex].ToString()].Exists(banListCard => banListCard.ID == Program.CardData[cardid].Id)) { m_banlists[BanList.Items[BanList.Selecte

我有一个字典,你可以通过在列表框中搜索来添加卡片,但是现在如果用户按下按钮,我希望能够从字典中删除该项。这里是我用来向字典添加值的代码

if (!m_banlists[BanList.Items[BanList.SelectedIndex].ToString()].Exists(banListCard => banListCard.ID == Program.CardData[cardid].Id))
{   m_banlists[BanList.Items[BanList.SelectedIndex].ToString()].Add(
                       new BanListCard { ID = Program.CardData[cardid].Id, Banvalue = 0, Name = Program.CardData[cardid].Name });
}
我不会发布所有的代码,因为它太长了 下面是我用来删除项目的代码

var list = (ListBox) sender;
if (list.SelectedIndex != -1)
{
     int cardid = Int32.Parse((string)list.SelectedItem.ToString());
     if (m_banlists[BanList.Items[BanList.SelectedIndex].ToString()].Exists(banListCard => banListCard.ID == Program.CardData[cardid].Id))
     {
         m_banlists[BanList.Items[BanList.SelectedIndex].ToString()].Remove();
         list.Items.RemoveAt(list.SelectedIndex);
     }
}

但是我不知道在remove的括号中放什么才能找到值哦,它需要查找ID值

我想你可以试试这个

m_banlists[BanList.Items[BanList.SelectedIndex].ToString()].ToList().RemoveAll(x=>x.ID==someId);

事实上,它被设置为一个字典,只是设置有点不同于大多数dictionaries@outlaw1994好的,但是试着编辑你的评论,而不是添加新的评论,以避免垃圾邮件:)