Heim > Backend-Entwicklung > C++ > Wie kann ich Nullable-Typen als generische Parameter in C# verwenden?

Wie kann ich Nullable-Typen als generische Parameter in C# verwenden?

Susan Sarandon
Freigeben: 2025-01-05 10:11:40
Original
200 Leute haben es durchsucht

How Can I Use Nullable Types as Generic Parameters in C#?

Nullable-Typen als generische Parameter

In C# ist es möglich, einen Nullable-Typ als generischen Parameter zu definieren, was Flexibilität beim Umgang mit Nullable-Werten ermöglicht. Es müssen jedoch bestimmte Einschränkungen berücksichtigt werden, um die Kompatibilität sicherzustellen.

Der bereitgestellte Code zielte darauf ab, mithilfe der Funktion „GetValueOrNull“ einen Nullwert aus einer Datenbank abzurufen. Ursprünglich war der generische Parameter auf eine Klasse beschränkt, was zu dem Fehler „int?“ führte. ist eine Struktur.

Um dieses Problem zu beheben, wurde die Einschränkung in eine Struktur geändert. Es ist jedoch ein weiterer Fehler aufgetreten, der darauf hinweist, dass der nullbare Typ nicht nullbar sein muss.

Die Lösung besteht darin, den Rückgabetyp der GetValueOrNull-Funktion in Nullable zu ändern. und Aufrufen mit einem nicht nullbaren Parameter, wie gezeigt:

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

Durch Befolgen dieser Einschränkungen können nullbare Typen effektiv als generische Parameter verwendet werden, was Flexibilität und Handhabung von nullbaren Werten im Code bietet.

Das obige ist der detaillierte Inhalt vonWie kann ich Nullable-Typen als generische Parameter in C# verwenden?. 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