簡體   English   中英

使用LINQ查詢而不是foreach循環

[英]Using a LINQ query instead of a foreach loop

我想將這段代碼轉換為LINQ查詢,因為LINQ比foreach快得多。 我不知道該怎么做,基本上可以做簡單的LINQ查詢。

我想做的是在詞典中獲取特定字段。

Dictionary<string, object> fieldLayout = null;
foreach (Dictionary<string, object> dic in pageLayout)
{
    if (dic[ "FIELD" ].ToString() == "123")
    {
        fieldLayout = dic;
        break;
    }
}

fieldLayout = pageLayout.FirstOrDefault(dic => dic["FIELD"].ToString() == "213");

LINQ幾乎不比foreach快,但這超出了這里的范圍。

var fieldLayout = pageLayout.FirstOrDefault(pl => pl["FIELD"].ToString() == "123");

首先,LINQ不會比foreach循環快。

這是實施:

Dictionary<string, object> fieldLayout = pageLayout.Where(x => x["FIELD"].ToString() == "123").FirstOrDefault();

甚至更好:

Dictionary<string, object> fieldLayout = pageLayout.FirstOrDefault(x => x["FIELD"].ToString() == "123");

暫無
暫無

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

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