首頁 > 後端開發 > C++ > 如何在 C# 中安全地將 DBNull 值轉換為字串?

如何在 C# 中安全地將 DBNull 值轉換為字串?

Susan Sarandon
發布: 2025-01-25 10:07:10
原創
1004 人瀏覽過

How to Safely Cast DBNull Values to Strings in C#?

在 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中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板