C# 从集合返回一些空值
我有一个LINQ查询,我需要返回数据库中的所有客户,但是不是所有客户都有中间名。这是我的疑问:C# 从集合返回一些空值,c#,linq,null,C#,Linq,Null,我有一个LINQ查询,我需要返回数据库中的所有客户,但是不是所有客户都有中间名。这是我的疑问: select new { firstName = a.firstname, middleName = a.middlename, lastName = a.lastname, }; foreach(var c in queryAccount) { console.writeline(c.firstname); console.
select new
{
firstName = a.firstname,
middleName = a.middlename,
lastName = a.lastname,
};
foreach(var c in queryAccount)
{
console.writeline(c.firstname);
console.writeline(c.middlename);
console.writeline(c.lastname);
}
我想要的是类似于:
if (c.middlename != null)
{
console.writeline(c.middlename);
}
有人知道我怎样才能让它工作吗?您只需使用operator:-
select new {
firstName = a.firstname,
middleName = a.middlename ?? String.Empty,
lastName = a.lastname,
};
拉胡尔的回答是正确的。此外,如果您根本不想分配“middleName”,您可以执行以下操作:
Select(x =>
{
var obj = new TestData
{
Lastname = x.Lastname,
Firstname = x.Firstname
};
if (!string.IsNullOrEmpty(x.Middlename))
obj.Middlename = x.Middlename;
return obj;
});