Ble*_*ahu 9 c# linq collections datarowcollection controlcollection
我已经使用LINQ一段时间了(并且喜欢它),但是当我遇到.NET专用集合(DataRowCollection,ControlCollection)时,感觉就像我遇到了一个speedbump.有没有办法将LINQ与这些专用控件一起使用,如果不是,您认为Microsoft会在下一版本的框架中解决这个问题吗?或者我们是否继续迭代这些非LINQ方式,或者将项目从集合中拉出到LINQ-able系列中?
Jar*_*Par 22
集合之所以ControlCollection不能与LINQ一起使用,是因为它们不是强类型的.如果没有元素类型,LINQ无法创建强类型方法.只要您知道类型,就可以使用该Cast方法创建强类型枚举,从而与LINQ一起使用.例如
ControlCollection col = ...
var query = col.Cast<Control>().Where(x => ...);
Run Code Online (Sandbox Code Playgroud)
至于微软是否会IEnumerable<T>默认使用这些工具.我的猜测不在这里.之所以这样做是一个突破性的变化,可能导致代码中的预期行为.即使简单地实现IEnumerable<Control>了ControlCollection将导致更改过载能,并几乎肯定会,打破用户的应用解决方案.
| 归档时间: |
|
| 查看次数: |
1087 次 |
| 最近记录: |