我有一個通用集合,其中包含5000多個項目。所有項目都是獨一無二的,所以我使用SingleOrDefault從集合中提取一個項目。今天我用紅門螞蟻探查器來查看代碼,發現我的SingleOrDefault調用有5000萬次迭代(〜3.5秒),有1800萬次命中,而當我將它更改爲FirstOrDefault時,它有900萬次命中(〜1.5秒)。FirstOrDefault比SingleOrDefault顯着快於查看ANTS分析器
我使用SingleOrDefault,因爲我知道集合中的所有項都是唯一的。
編輯:問題將是爲什麼FirstOrDefault比SingleOrDefault更快,即使這是我們應該使用SingleOrDefault的確切場景。
有問題嗎? – cadrell0
如果您已經*知道*這些元素是唯一的,那麼'SingleOrDefault'完成的額外工作是不必要的。 –