簡體   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