Heim >Backend-Entwicklung >C++ >Wie kann man DBNull-Werte in C# sicher in Strings umwandeln?

Wie kann man DBNull-Werte in C# sicher in Strings umwandeln?

Susan Sarandon
Susan SarandonOriginal
2025-01-25 10:07:101029Durchsuche

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

Nullwert in einen String in C# umwandeln

Der Versuch, ein System.DBNull-Objekt in System.String zu konvertieren, führt normalerweise zu einem Fehler, der normalerweise beim Abrufen von Daten aus der Datenbank auftritt. Der ursprüngliche Code versucht, den DBNull-Wert direkt in eine Zeichenfolge umzuwandeln, was die Ausnahme verursacht.

Um dieses Problem zu beheben, wurde der Code geändert, um vor der Konvertierung in einen String nach DBNull zu suchen:

<code class="language-csharp">if (accountNumber is DBNull)
{
    return string.Empty;
}
else
{
    return accountNumber.ToString();
}</code>

Es gibt jedoch eine elegantere Lösung mit generischen Funktionen:

<code class="language-csharp">return ConvertFromDBVal<string>(accountNumber);</code>

Die Funktion ist wie folgt definiert:

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

Diese Funktion übernimmt auf elegante Weise die Konvertierung eines DBNull-Werts in den gewünschten Typ und gibt bei Bedarf den Standardwert für diesen Typ zurück.

Das obige ist der detaillierte Inhalt vonWie kann man DBNull-Werte in C# sicher in Strings umwandeln?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn