繁体   English   中英

LINQ选择所有项目数组元素

[英]LINQ selecting all item array elements

奇怪的问题,基本上我正在创建一个 DataTable,使用 AsEnumerable() 方法,然后使用 LINQ 查询。

但是,我不知道这个 DataTable 有多少行或列,我需要选择所有的项目数组元素,有没有办法从 ItemArray[0] 循环到 ItemArray[ItemArray.lenth-1] LINQ 查询? 这是我发现可以绑定到 MVC 网格的唯一方法,所以如果有更好的方法,我很想知道!

下面是我想做的一种伪代码。 任何帮助都会很棒!

var model = from t in table.AsEnumerable().AsQueryable()
    select new
    { 
        for (i = 0 to ItemArray.length)
        {
            t.ItemArray[i]
        }
    }

使用SelectMany()

var items = table.AsEnumerable().SelectMany(row=>row.ItemArray);

您还可以按行对项目进行分组:

var items = from row in dt.AsEnumerable()
            from item in row.ItemArray
            group new {item} by row;

听起来好像您需要SelectMany() ,但作为查询表达式更容易阅读:

var model = from row in table.AsEnumerable()
            from item in row.ItemArray
            select item;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM