检查空值

3

很抱歉问这么简单的问题。

我该如何检查是否为空?

obj.DivisionNotes = (string)row["DivisionNotes"];

我想到了这个。
obj.DivisionNotes = (string)row["DivisionNotes"]?null:"No notes";

我需要确认一下,我是正确的吗?

非常感谢任何帮助。

3个回答

10

你对空值的转换会导致问题,你可以使用 as 转换以及空值合并运算符来解决这个问题。

obj.DivisionNotes = (row["DivisionNotes"] as string) ?? "No notes";

1

您可以在原始的 T-SQL 查询中使用 ISNULL 函数,将查询更改为以下内容:

SELECT ID, Name, DivisionNotes FROM tblWHATEVER

SELECT ID, Name, ISNULL(DivisionNotes, 'No notes') AS 
    DivisionNotes FROM tblWHATEVER

我并不是说这种方法比在代码中检查 null 值更好,但有时候在查询中进行简单的更改就可以避免在许多不同的地方修改代码。


有趣,我想知道为什么你的那个想法会被投反对票。不管怎样,感谢你的建议。 - Chin
@Chin:有人发现我没有真正回答你的问题。 - MusiGenesis

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接