用Linq返回单列

时间:2009-06-11 14:57:59

标签: c# .net linq linq-to-sql

 public string GetNameBySSN(string SSN)
 {
    var results = from c in Clients
                  where c.ClientSSN.Equals(IRRCNumber)
                  select c.FirstName;
    //return results.ToString();
 }

我希望使用Linq返回单个列值,并且不确定是否有办法快速轻松返回。我评论了一段代码,我知道它不返回值,如果枚举通过集合我可以得到值,但想知道是否有更好的方法。

我明白Linq是基于Set而且它没有预先知道的意思 结果由单个成员设置。

2 个答案:

答案 0 :(得分:6)

return results.First().ToString();

其他可能的变体:

.First()返回第一个项目,如果没有项目,则抛出异常。它忽略了所有其他项目。

.FirstOrDefault()返回第一个项(如果存在),如果不存在,则返回结果类型的默认值。它忽略了所有其他项目。

.Single()会返回唯一的项目,如果该集合包含正好一个项目,否则会抛出异常。

.SingleOrDefault() .Single()类似,但会返回结果类型的默认值,而不是抛出异常。

答案 1 :(得分:6)

results.FirstOrDefault();

这种方式不会引发异常,仅供参考。 @Mehrdad会在哪里。