[英]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.