作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我喜欢 .Where()
方法提供的语法,它可用于许多集合。但是,我注意到一些收藏中明显没有它。
我确定这与某些接口(interface)正在实现或未实现有关,但除此之外,我想知道为什么我们没有 .Where()
方法数据表.行数
最佳答案
DataRowCollection
只实现 IEnumerable
, 不是 IEnumerable<DataRow>
.
存在扩展方法 - DataTableExtensions.AsEnumerable
- 有效地“修复”这个。您也可以直接调用 table.Cast<DataRow>()
但是 EnumerableRowCollection
由 AsEnumerable
返回有更多的功能。
所以你可以这样写:
var query = from row in table.AsEnumerable()
where ...
select ...;
DataRowExtensions
中还有其他有用的扩展方法,最值得注意的是 Field
,所以你可以这样写:
var query = from row in table.AsEnumerable()
where row.Field<int>("Age") > 18
select row.Field<string>("Name");
关于.net - 为什么 DataTable.Rows 没有 .Where() 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4187339/
我是一名优秀的程序员,十分优秀!