Memahami Keselamatan Jenis dan Senarai Paksaan Dalam C#
sistem jenis C#menghalang pemutus langsung ke List<string>
. Pilihan reka bentuk ini adalah penting kepada penekanan bahasa terhadap jenis keselamatan dan pengaturcaraan yang mantap. Mari kita meneroka mengapa sekatan ini wujud. List<object>
kepada pembolehubah List<string>
: anda boleh menambah apa -apa jenis objek ke senarai, melangkaui kekangan rentetan asal. Percubaan untuk kemudian mengakses objek tambahan ini sebagai rentetan tidak dapat dielakkan membawa kepada ralat runtime (mis., List<object>
). InvalidCastException
List<string> stringList = new List<string>(); List<object> objectList; objectList = (List<object>)stringList; // This is NOT allowed in C# objectList.Add(new Foo()); // Adding a non-string object // ... (Later attempts to access elements as strings would fail)
(atau objek bukan rentetan) kepada apa yang asalnya Foo
memecahkan konsistensi jenis yang dimaksudkan. List<string>
Atas ialah kandungan terperinci Mengapa senarai tidak boleh dibuang ke senarai di C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!