(LINQ 和可空值) 或 (SQL ISNULL 与 LINQ)






4.50/5 (2投票s)
(LINQ 和可空值) 或 (SQL ISNULL 与 LINQ)
在这篇简短的文章中,我将展示如何在 LINQ 查询中处理可空值,以及如何实现类似于 SQL
像下面的示例一样使用三元运算符,对于
ISNULL
函数的功能。 在继续之前,请阅读以下文章:
问题 在处理 LINQ 查询时,我需要对于给定属性/列的 null
值显示 "N/A"。 解决方案 1像下面的示例一样使用三元运算符,对于
null
值,MobileNo = "N/A"var user = from u in Users join uc in UserClients on u.Id equals uc.UserId into myuserwithclient from m in myuserwithclient.DefaultIfEmpty() select new { u.Id, FirstName = u.FirstName, LastName = u.LastName, UserId = m.UserId, MobileNo = (m.MobileNo == null) ? "N/A" : m.MobileNo };解决方案 2 使用特殊的合并运算符 (??),像下面的示例一样,对于
null
值,MobileNo = "N/A"var user = from u in Users join uc in UserClients on u.Id equals uc.UserId into myuserwithclient from m in myuserwithclient.DefaultIfEmpty() select new { u.Id, FirstName = u.FirstName, LastName = u.LastName, UserId = m.UserId, MobileNo = m.MobileNo ?? "N/A" };总结 上述解决方案展示了我们如何轻松处理
null
值,以及实现 SQL ISNULL
函数的功能。