C# 如何将ListItemCollection(dropdownlist.items)转换为字典<;字符串,字符串>;?

C# 如何将ListItemCollection(dropdownlist.items)转换为字典<;字符串,字符串>;?,c#,asp.net,string,linq,oop,C#,Asp.net,String,Linq,Oop,如何将ListItemCollection(DropDownList.items)转换为字典(我知道可以通过每个循环进行转换)还有其他方法使用linq吗?您可以使用linq: collection.Cast<ListItem>().ToDictionary(i => i.Value, i => i.Text); collection.Cast().ToDictionary(i=>i.Value,i=>i.Text); 目前还不知道项目的类型,因此使用了cast方法(至

如何将
ListItemCollection
DropDownList.items
)转换为
字典(我知道可以通过每个循环进行转换)还有其他方法使用linq吗?

您可以使用linq:

collection.Cast<ListItem>().ToDictionary(i => i.Value, i => i.Text);
collection.Cast().ToDictionary(i=>i.Value,i=>i.Text);
目前还不知道项目的类型,因此使用了cast方法(至少intellisense没有为我提供它)。但是ToDictionary()应该可以实现这一点,并指定所需的任何内容作为键和值

HTH.

参见:

var结果=
dropdownlist.items.Cast()
.ToDictionary(项=>item.Value,
item=>item.Text,
普通木糖酶);

除了已经正确的答案之外:对应的MSDN链接(因为我已经查过了)
var result = 
  dropdownlist.items.Cast<ListItem>()
                   .ToDictionary(item => item.Value, 
                                 item => item.Text, 
                                 StringComparer.OrdinalIgnoreCase);