簡體   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