从集合返回一些空值

本文关键字:空值 返回 集合 | 更新日期: 2023-09-27 18:19:10

我有一个LINQ查询,我需要返回我们数据库中的所有客户,但并非所有客户都有中间名。这是我的查询:

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);
}

有谁知道我怎么才能让这个工作吗?

从集合返回一些空值

您可以简单地使用Null Colaescing操作符:-

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;
            });