Heim > Backend-Entwicklung > C++ > Können generische Typen in C# in bestimmte Typen umgewandelt werden?

Können generische Typen in C# in bestimmte Typen umgewandelt werden?

Mary-Kate Olsen
Freigeben: 2024-12-29 17:21:13
Original
569 Leute haben es durchsucht

Can Generic Types in C# Be Cast to Specific Types?

Können generische Typen in bestimmte Typen umgewandelt werden?

In einer aktuellen Anfrage suchte ein Programmierer mit C-Hintergrund nach Unterstützung bei der Umwandlung generischer Typen in bestimmte Typen in C#. Der bereitgestellte Code:

T HowToCast<T>(T t)
{
    if (typeof(T) == typeof(string))
    {
        T newT1 = "some text";
        T newT2 = (string)t;
    }

    return t;
}
Nach dem Login kopieren

konnte nicht kompiliert werden, da sich der Compiler darüber beschwerte, dass die Konvertierung von „T“ in einen String nicht möglich sei.

Um das Problem zu verstehen, muss man sich darüber im Klaren sein, dass es innerhalb eines liegt if-Anweisung kann der Compiler nicht ableiten, dass „T“ ein String-Typ ist. Folglich schlägt das Casting fehl. Um dies zu beheben, muss man zunächst „T“ in „Objekt“ umwandeln, da jedes „T“ in „Objekt“ umgewandelt werden kann, und dann weiter von „Objekt“ in den gewünschten spezifischen Typ, z. B. „Zeichenfolge“, umwandeln.

Der korrigierte Code:

T newT1 = (T)(object)"some text";
string newT2 = (string)(object)t;
Nach dem Login kopieren

demonstriert die richtige Vorgehensweise.

Das obige ist der detaillierte Inhalt vonKönnen generische Typen in C# in bestimmte Typen umgewandelt werden?. 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