簡體   English   中英

將LINQ結果轉換為2D字符串數組

[英]Converting a LINQ result to 2D string array

我有一個LINQ查詢,該查詢選擇一個teamID和團隊名稱列表來填充下拉列表。 查詢如下所示:

var teams = db.Teams.Where(t => t.isActive)
                    .Select(t => new {t.TeamID, t.TeamName});

但是,我希望結果集采用2D字符串數組的形式,因為這是填充DDL的函數所需要的。 我知道我可以使用for循環並構建數組,但是我更喜歡它,如果可以的話,一步一步完成。

有類似的東西嗎?

string[][] teams = db.Teams.Where(t => t.isActive)
                           .Select(t => new {t.TeamID, t.TeamName})
                           .To2DArray();

請注意, string[][]不是多維數組,而是數組的數組。 多維數組看起來像string[,] ,並且具有不同的語義(即數組的數組可能具有不同長度的子數組,但是多維數組中的所有行/列都具有相同的長度)。

由於您只是在處理數組數組,因此最簡單的解決方案可能是在由ToArray創建的一系列項目上使用ToArray。

以下代碼假定db.Teams也是一個數組數組:

var teams =
    db.Teams
    .Select(teamArray =>
        teamArray
        .Where(t => t.isActive)
        .Select(t => new {t.TeamID, t.TeamName})
        .ToArray())
    .ToArray();

的種類:

string[][] teams = db.Teams.Where(t => t.isActive).Select(t => new[] {t.TeamID, t.TeamName}).ToArray();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM