Rumah > pembangunan bahagian belakang > C++ > Kenapa tidak boleh `senarai` ditugaskan ke pembolehubah` senarai` dalam C#?

Kenapa tidak boleh `senarai` ditugaskan ke pembolehubah` senarai` dalam C#?

Barbara Streisand
Lepaskan: 2025-01-28 13:46:09
asal
439 orang telah melayarinya

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

Kenapa tidak boleh

nilai objek pembolehubah? List<string> List<object> Dalam C#, cuba tetapkan objek ke

pembolehubah boleh menyebabkan kesilapan semasa penyusunan. Operasi ini tidak dibenarkan walaupun ia ditukarkan secara eksplisit. Mari kita meneroka prinsip di belakangnya:

List<string> Pertimbangkan adegan berikut: List<object>

Jika penukaran ini dapat dilaksanakan dengan jayanya, apa yang akan berlaku jika anda menambah jenis

ke senarai
List<string> sl = new List<string>();
List<object> ol;
ol = sl; // 产生编译时错误
Salin selepas log masuk
? Ini akan mewujudkan ketidakkonsistenan dalam senarai

, kerana senarai ol hanya mengharapkan rentetan. Apabila melintasi senarai , menghadapi contoh Foo akan menyebabkan kelainan penukaran kelas, menunjukkan bahawa ia tidak boleh ditukar menjadi rentetan. sl sl sebaliknya, penukaran dari ke sl mungkin berguna. Dengan menukar dari kelas yang lebih umum () ke kelas yang lebih spesifik (Foo), ia memastikan bahawa menambahkan sebarang elemen ke senarai rentetan tidak akan melanggar kekangan senarai objek. Walau bagaimanapun, C# mungkin tidak menyokong jenis penukaran ini.

Atas ialah kandungan terperinci Kenapa tidak boleh `senarai` ditugaskan ke pembolehubah` senarai` dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan