首页 > 解决方案 > System.Windows.Forms.ComboBox.Items.AddRange() List 失败

问题描述

我从外部包裹中收到List<DictionaryEntry> list

我想将它传递给ComboBox.Items.AddRange()需要object[]

我试过了:

comboBox.Items.AddRange(list.ToArray());
comboBox.Items.AddRange((object[])(list.ToArray()));

但 C# VS2013 编译器失败。

以下基于的代码ComboBox.Items.Add()完美地工作,没有显式转换DictionaryEntry为对象。

foreach (DictionaryEntry item in list)
    comboBox.Items.Add(item);

由于其他原因,我不想使用combobox.DataSource我可以分配的属性List<DictionaryEntry> list

List<DictionaryEntry>有没有任何简单的方法可以将list转换为没有性能负担object[]

标签: c#data-bindingcombobox

解决方案


尝试使用以下Cast<>()方法:

comboBox.Items.AddRange(list.Cast<object>().ToArray());

推荐阅读