LINQ Where和FirstOrDefault

时间:2011-08-03 08:39:47

标签: c# linq

string[] s = new string[] {"cc", "aa", "bb", "" };
string result = s.FirstOrDefault(x => x.Equals("aa"));

如果没有.Where()语句或者使用它,人们会更喜欢上面的代码吗?

string[] s = new string[] {"cc", "aa", "bb", "" };
string result = s.Where(x => x.Equals("aa")).FirstOrDefault();

3 个答案:

答案 0 :(得分:7)

两种形式都是等同的,请使用您喜欢的形式。我不认为它在性能方面有很大的不同......我倾向于选择第一种形式,因为它更短。

答案 1 :(得分:1)

你应该真正研究IQueryable对象,它不按你指定的顺序工作。 LINQ对查询进行了优化。有许多工具可以扫描结果查询,如LINQPad等。

答案 2 :(得分:1)

这取决于编码协议(代码格式化协议)。并且不需要个人使用。