问题描述
ListBox.ObjectCollection类:publicclassObjectCollection:IList,ICollection,IEnumerable不是写了ObjectCollection实现了IEnumerable接口的吗?那为什么不能用Where方法listBox20.Items.Where(x=>.....)//为什么不能用?
解决方案
解决方案二:
你引用linq命名空间了么?where方法是作为扩展方法添加到Enumerable里面的
解决方案三:
publicstaticIEnumerable<TSource>Where<TSource>(thisIEnumerable<TSource>source,Func<TSource,bool>predicate);要泛型的IEnumerable接口才扩展出Where方法
解决方案四:
支持的(listBox20.ItemsasIEnumerable).xxx
解决方案五:
要指出两点,一个是IListIEnumerable是不支持LINQ的。另一个需要加上usingSystem.Collections;要想支持LINQ,必须转换成IEnumerable<T>,使用Cast<T>()、OfType<T>()方法。或者自行foreach转换为IEnumerable<T>。
时间: 2024-12-04 18:36:52