Heim > Backend-Entwicklung > C++ > Warum kann keine 'List' in C#einer Variablen 'list' zugewiesen werden?

Warum kann keine 'List' in C#einer Variablen 'list' zugewiesen werden?

Barbara Streisand
Freigeben: 2025-01-28 13:46:09
Original
439 Leute haben es durchsucht

Why Can't a `List` Be Assigned to a `List` Variable in C#?

Warum kann der Objektwert

nicht Variable nicht? List<string> List<object> In C#versuchen Sie, Variablen

Objekte zuzuweisen, die während der Kompilierung Fehler verursachen können. Diese Operation ist nicht erlaubt, selbst wenn sie explizit konvertiert wird. Erforschen wir das Prinzip dahinter:

List<string> Betrachten Sie die folgende Szene: List<object>

Wenn diese Konvertierung erfolgreich ausgeführt werden kann, was wird dann passieren, wenn Sie der Liste

eine Art von
List<string> sl = new List<string>();
List<object> ol;
ol = sl; // 产生编译时错误
Nach dem Login kopieren
hinzufügen? Dadurch wird in der Liste

eine Inkonsistenz erzeugt, da die Liste ol nur die Zeichenfolge erwartet. Wenn Sie die Liste durchqueren, verursacht die Begegnung auf die Foo -Instanz die Klassenkonvertierungsanomalie, was darauf hinweist, dass sie nicht in eine Zeichenfolge konvertiert werden kann. sl sl Im Gegenteil kann die Umwandlung von zu sl nützlich sein. Durch die Konvertierung von einer allgemeineren Klasse () in eine spezifischere Klasse (Foo) wird sichergestellt, dass das Hinzufügen von Elementen zur String -Liste die Einschränkungen der Objektliste nicht verletzt. C# unterstützt diese Art der Konvertierung jedoch möglicherweise nicht.

Das obige ist der detaillierte Inhalt vonWarum kann keine 'List' in C#einer Variablen 'list' zugewiesen werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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