c# - 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[]
?
解决方案
尝试使用以下Cast<>()
方法:
comboBox.Items.AddRange(list.Cast<object>().ToArray());
推荐阅读
- c# - Android 未从 LocalApplicationDirectory 加载字体
- visual-studio - 项目中缺少的文件夹,即使在使用显示所有文件后也不显示
- sql - 如何使用 Transact-SQL (t-sql) 删除尾随字符?
- nosql - 无法在 ArangoDB 中声明变量
- c# - 如何检查TextBox的光标是否闪烁
- environment-variables - Ariflow dag 在开始运行时不拾取环境变量
- regex - 在 Redshift 中: (\s|\+) 模式不起作用,但 ([\s]|[\+]) 可以。他们是一样的吗?
- wso2 - WSO2 Carbon:更改默认声明方言
- python - Python Django 多个请求参数
- linux - 如何设置不可变文件属性