这两个lambda表达式之间有区别吗?

时间:2010-10-12 15:04:18

标签: c# lambda

这两个Lambda表达式之间有什么区别?第二个看起来更紧凑我应该总是这样做吗?

DataContext.Employee.Where(c=>c.id==check_id && c.username==user_name).Select(c=>c.Name).FirstOrDefault();

DataContext.Employee.FirstOrDefault(c=>c.id==check_id && c.username==user_name).Name;

1 个答案:

答案 0 :(得分:15)

如果找不到匹配的元素,则第二个版本可以抛出NullReferenceException,并且该类型的默认值为null

第一个版本没有这个问题。