在 C# 中將空值轉換為字串
嘗試將 System.DBNull 物件轉換為 System.String 通常會導致錯誤,此錯誤通常發生在從資料庫檢索資料時。原始程式碼嘗試直接將 DBNull 值強制轉換為字串,導致異常。
為了解決這個問題,程式碼被修改為在轉換為字串之前檢查 DBNull:
<code class="language-csharp">if (accountNumber is DBNull) { return string.Empty; } else { return accountNumber.ToString(); }</code>
但是,使用泛型函數有更優雅的解決方案:
<code class="language-csharp">return ConvertFromDBVal<string>(accountNumber);</code>
函數定義如下:
<code class="language-csharp">public static T ConvertFromDBVal<T>(object obj) { if (obj == null || obj == DBNull.Value) { return default(T); // 返回该类型的默认值 } else { return (T)obj; } }</code>
此函數優雅地處理將 DBNull 值轉換為所需類型的轉換,如果需要,則傳回該類型的預設值。
以上是如何在 C# 中安全地將 DBNull 值轉換為字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!