1
關於下面的代碼的簡短問題。 爲什麼它總是顯示0?帶代表的Linq查詢不更新變量
List<string> strList = new List<string>() { "Yes", "No", "Yes", "No", "Yes", "Yes"};
int hitCount = 0;
strList.Select(i =>
{
if(i.Equals("Yes"))
{
hitCount++;
}
return i;
});
Console.WriteLine(hitCount); // always returns 0.
Console.Read();
你只構造查詢,但從來沒有運行它。 – PetSerAl
由於延遲執行,請在選擇後創建一個ToList(),並且它應該增加hitcount;) – Icepickle
['.Count'](https://msdn.microsoft.com/en-us/library/bb535181(v = vs.100).aspx)是一個更好的方法來計算匹配謂詞的元素 - 沒有延遲的執行擔憂或額外的列表。 – kevingessner