从linq var结果转换为另一个对象

时间:2018-03-29 21:48:24

标签: linq

使用我想要选择的以下LINQ查询'成为用户'我知道并可以操纵的对象,但事实并非如此。如何将其转换为'用户'? 感谢

Console.Write("User name:");
String nickname = Console.ReadLine();
var loggedin = from user in userList 
               where user.getNickname().Equals(nickname) 
               select user;

1 个答案:

答案 0 :(得分:0)

目前,您的查询返回IEnumerable<T>,其中TuserList中元素的类型。

好像你在FirstOrDefault急切操作之后只检索一个User对象(如果存在)。

var loggedin = (from user in userList 
               where user.getNickname().Equals(nickname) 
               select user).FirstOrDefault();
如果loggedin为空,或者没有元素满足提供的谓词,则

null将为userList

使用方法语法可以像这样完成:

var loggedin = userList.FirstOrDefault(user => user.getNickname().Equals(nickname));