[英]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.