nilai objek pembolehubah? List<string>
List<object>
Dalam C#, cuba tetapkan objek ke
List<string>
Pertimbangkan adegan berikut: List<object>
Jika penukaran ini dapat dilaksanakan dengan jayanya, apa yang akan berlaku jika anda menambah jenis
ke senaraiList<string> sl = new List<string>(); List<object> ol; ol = sl; // 产生编译时错误
, 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!