繁体   English   中英

在C#中使用可为空的SQL数据的最佳实践是什么?

[英]What's the best practice for working with nullable SQL data in C#?

我倾向于这样做,例如接受整数的方法:

DoSomethingWithThisInt((int)dbObj.nullableInteger);

但是,我通常也会确保除非有值,否则此代码将永远不会发生,有时这意味着我必须先检查null,否则它将花费更多的代码行。

有没有更好的方法,还是我只是通过投射正确地做到了?

如果您已经在相关代码行之前检查过null,则可以简单地使用

dbObj.nullableInteger.Value

与演员阵容相反。

例如,如果默认值也足够(例如,对于整数,则为0;对于布尔值,则为false,等等),那么您可以省略null检查,并简单地利用

doObj.nullableInteger.GetValueOrDefault()

语法基本上有两种选择。 使用Nullable<T>类型的属性,如下所示:

if (dbObj.nullableInteger.HasValue)
{
    DoSomethingWithThisInt(dbObj.nullableInteger.Value);
}

或使用C#语言提供的语法糖,它转换为同一件事:

if (dbObj.nullableInteger != null)
{
    DoSomethingWithThisInt((int)dbObj.nullableInteger);
}

您使用哪一个只是偏好设置; 我个人更喜欢后者。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM