Heim > Backend-Entwicklung > C++ > Wie können Nullable-Typen als generische Parameter für Werttypfunktionen verwendet werden, die potenzielle Nullwerte aus DbDataRecords verarbeiten?

Wie können Nullable-Typen als generische Parameter für Werttypfunktionen verwendet werden, die potenzielle Nullwerte aus DbDataRecords verarbeiten?

Mary-Kate Olsen
Freigeben: 2025-01-05 12:45:47
Original
508 Leute haben es durchsucht

How Can Nullable Types Be Used as Generic Parameters for Value-Type Functions Handling Potential Null Values from DbDataRecords?

Zulassen von Nullable-Typen als generische Parameter für Werttypfunktionen

Berücksichtigen Sie die Notwendigkeit, Werte aus DbDataRecords mit der Möglichkeit von Nullwerten abzurufen. Ein Versuch, nullfähige Typen als generische Parameter zu verwenden, führte zunächst zu einem Fehler, der darauf hinwies, dass es sich bei dem nullbaren Typ um einen Referenztyp handeln muss. Anschließend führte die Änderung der Einschränkung in „Strukturen“ zu einem weiteren Fehler, der besagte, dass der nullbare Typ nicht nullbar sein darf.

Um dieses Problem zu beheben, besteht die Lösung darin, den Rückgabetyp in „Nullable“ zu ändern und rufen Sie die Funktion mit einem Parameter auf, der keine NULL-Werte zulässt. Der überarbeitete Code lautet:

static void Main(string[] args)
{
    int? i = GetValueOrNull<int>(null, string.Empty);
}

public static Nullable<T> GetValueOrNull<T>(DbDataRecord reader, string columnName) where T : struct
{
    object columnValue = reader[columnName];

    if (!(columnValue is DBNull))
        return (T)columnValue;

    return null;
}
Nach dem Login kopieren

Jetzt können nullfähige Typen als generische Parameter für Funktionen dienen, die Werttypen verarbeiten, und ermöglichen gleichzeitig die Möglichkeit von Nullwerten bei Vorgängen mit DbDataRecords.

Das obige ist der detaillierte Inhalt vonWie können Nullable-Typen als generische Parameter für Werttypfunktionen verwendet werden, die potenzielle Nullwerte aus DbDataRecords verarbeiten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage