C# 正在将CheckedListBox所选项目检索为字典

C# 正在将CheckedListBox所选项目检索为字典,c#,dictionary,checkedlistbox,C#,Dictionary,Checkedlistbox,我的表单上有一个checkedlistbox,我使用字典填充它。当我填充框时,它可以正常工作,但是当我尝试检索所选对象时,我不知道如何将其作为字典来执行 我的填充代码: reader = widgetSelection.ExecuteReader(); while (reader.Read()) { widgets.Add(reader.GetInt32(0), reader.GetString(reader.GetOrdinal("name"))); } foreach (var widg

我的表单上有一个checkedlistbox,我使用字典填充它。当我填充框时,它可以正常工作,但是当我尝试检索所选对象时,我不知道如何将其作为字典来执行

我的填充代码:

reader = widgetSelection.ExecuteReader();
while (reader.Read())
{
 widgets.Add(reader.GetInt32(0), reader.GetString(reader.GetOrdinal("name")));
}

foreach (var widget in widgets)
{
    chbWidgets.Items.Add(widget);
}

它可以完美地填充,但任何尝试使用foreach或其他任何东西的行为都只能作为对象返回,我无法找到正确的方式来投射物品。任何帮助都会很好。

如果您的示例中的
小部件
是一个
字典
,那么
chbWidgets.Items.Add(小部件)
就是向
Items
集合添加一个
键值对。要获取所选项目,您可能可以使用
chbWidgets.CheckedItems.Cast()