特定
var selectedItems = listBoxControl1.SelectedItems;
var selectedItemsList = (from i in selectedItems
select i).ToList();
Run Code Online (Sandbox Code Playgroud)
我收到错误
找不到源类型'DevExpress.XtraEditors.BaseListBoxControl.SelectedItemCollection'的查询模式的实现.找不到"选择".考虑明确指定范围变量'i'的类型.
using system.LINQ 完成
我可以使用foreach所以它必须实现IEnumerable.如果可能的话,我更喜欢使用LINQ over foreach来收集每个字符串.
我想ToString()在列表框控件中获取每个SelectedItem 的值并将它们粘贴到一个List<string>.我该怎么做?
Jon*_*eet 14
我可以使用foreach所以它必须实现IEnumerable.
事实并非如此,但这与此无关.它确实实现了IEnumerable,但IEnumerable<T>LINQ的工作原理并不是这样.
什么实际上是在列表中?如果它已经是字符串,您可以使用:
var selectedItemsList = selectedItems.Cast<string>().ToList();
Run Code Online (Sandbox Code Playgroud)
或者,如果它是"任何对象"并且您想要呼叫,ToString您可以使用:
var selectedItemsList = selectedItems.Cast<object>()
.Select(x => x.ToString())
.ToList();
Run Code Online (Sandbox Code Playgroud)
请注意,调用Cast是为什么使用显式类型的范围变量建议的错误消息 - 以...开头的查询表达式from Foo foo in bar将转换为bar.Cast<Foo>()...
对于LINQ来说,你需要一个IEnumerable<T>,直接IEnumerable是不够的.尝试:
var selectedItems = listboxControl1.SelectedItems.Cast<T> //where T is the actual type of the item
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12569 次 |
| 最近记录: |