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