C# Linq记录到字符串数组
这是我的LINQ:C# Linq记录到字符串数组,c#,arrays,string,linq,linq-to-entities,C#,Arrays,String,Linq,Linq To Entities,这是我的LINQ: var context = new CYGNETEntities(); var users = (from u in context.mUsers where u.userName == EmailID && u.password == Password select new { u.userName, u.
var context = new CYGNETEntities();
var users = (from u in context.mUsers
where u.userName == EmailID && u.password == Password
select new
{
u.userName,
u.firstName,
u.lastName
})
.AsEnumerable()
.Select(x => string.Format("{0}, {1}, {2}", x.userName, x.firstName, x.lastName))
.ToArray();
此处,实际值如下所示:
u.userName = "admin"
u.firstName = "fname"
u.lastName = "lname"
因此,linq返回如下:
users[0] = admin, fname, lname
users[0] = admin
users[1] = fname
users[2] = lname
但是我想要字符串数组中的linq记录,如下所示:
users[0] = admin, fname, lname
users[0] = admin
users[1] = fname
users[2] = lname
有什么建议吗?我还没有测试过,但是关于:
var users = (from u in context.mUsers
where u.userName == EmailID && u.password == Password
from s in new string [] { u.username, u.FirstName, u.LastName }
select s).ToArray();
你可以用逗号分割用户数组,你将得到你的结果。这必须是一个二维数组,以防你有两个结果具有相同的
EmailID
和Password
他使用的是SelectMany
,所以他需要.ToArray()
。