Heim >Backend-Entwicklung >C++ >Wie kann man DBNull-Werte in C# sicher in Strings umwandeln?
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!