簡體   English   中英

LINQ 3次嵌套foreach並從中間循環獲取價值

[英]LINQ 3 times nested foreach and get value from middle loop

在我的應用程序中,我具有行ID,並且我需要檢索擁有該行的字段ID。

在foreach中,我會這樣寫:

Field ownerField;

foreach (Sparter sparter in account.GetSparters())
{
    foreach (Field field in sparter.GetFields())
    {
        foreach (Row row in field.GetRows())
        {
            if (row.Id == rowId)
            {
                ownerField = field;
            }
        }
    }
}

但是我該如何用LINQ編寫呢? 我認為應該是這樣,但這是不正確的:

Field field = account.GetSparters()
    .SelectMany(s => s.GetFields()
    .Find(f => f.GetRows()
    .Where(r => r.Id.Equals(rowId))));

像這樣的東西:

Field field = account.GetSparters()
    .SelectMany(s => s.GetFields())
    .FirstOrDefault(f => f.GetRows()
                      .Any(r => r.Id == id)
     );

暫無
暫無

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

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