和FirstOrDefault(func)和Where(func).FirstOrDefault()之间的区别?

All*_*ang 2 linq

两者之间有什么区别吗?

 DataFeedManager.LoadAllDataFeeds().FirstOrDefault(d => d.ItemID == itemId);
Run Code Online (Sandbox Code Playgroud)

DataFeedManager.LoadAllDataFeeds().Where(d=>d.ItemID = itemId).FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)

是否有一个特别的理由偏爱一个而不是另一个?

Jon*_*eet 6

如果您对它感到满意,请首先选择简洁.

如果您不熟悉可用的各种过载,请优先选择第二个.

(当然,"你"真的是"每个人都在研究代码".)