连接字符串时处理LINQ中的空列

本文关键字:LINQ 字符串 处理 连接 | 更新日期: 2023-09-27 18:00:14

我正在尝试获取应用程序中的人员详细信息,其中中间名有时会丢失。我正在尝试这样:

contactTable.Select(c => c.Title + " " + c.FirstName).ToList();

但每当DB中的title列保持为null时,它就会为该条目返回空。我想要一些类似的:

contactTable.Select(c => (string.IsNullOrEmpty(c.Title) ? "" : c.Title + " ") + c.FirstName).ToList();

这在一个linq语句中可能吗?提前谢谢。

这是可能的,完整的答案包括可以为null的MiddleName:

contactDetails = contactTable.Select(c =>
            ((c.Title ?? "") + " " + c.FirstName).Trim() + " " + ((c.MiddleName ?? "") + " " + c.LastName).Trim()).ToList();

参见Trim()的双重使用。

连接字符串时处理LINQ中的空列

利用:??操作员

试试下面的代码

contactTable.Select(c => ( (( c.Title ?? "") + " "  + c.FirstName).Trim()).ToList();