用Linq返回单列

0 .net c# 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();
 }
Run Code Online (Sandbox Code Playgroud)

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

我知道Linq是基于Set的,并且它没有预先知道结果是由单个成员设置的.

Meh*_*ari 6

return results.First().ToString();
Run Code Online (Sandbox Code Playgroud)

其他可能的变种:

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

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

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

.SingleOrDefault()是像.单() ,但返回结果的默认值,而不是输入抛出异常.


Dan*_*ite 6

results.FirstOrDefault();

这种方式不会抛出异常,仅供参考.@Mehrdad会在哪里.