dalam pemahaman
dan IndexOutOfRangeException
ArgumentOutOfRangeException
dan
adalah keabnormalan biasa dalam C#.
IndexOutOfRangeException
Masa kejadian abnormal ArgumentOutOfRangeException
array: Akses kepada bilangan bilangan nombor melebihi had atas atau bawah array. Arahan dalam C#didasarkan pada 0, yang bermaksud bahawa indeks elemen pertama ialah 0.
Atribut indeks: - Gunakan tetapan indeks tidak sah atau atribut akses. Sebagai contoh, jika kelas mempunyai atribut indeks yang dipanggil "item", mengakses item [6] dalam kelas dengan hanya 5 projek akan menyebabkan keabnormalan.
Senarai (Senarai
): - Julat akses melebihi [0, list.count -1].
Sumber Data:
Cuba untuk mengakses lajur mengikut indeks dalam idareader atau sumber data yang serupa, dan lajur tidak wujud atau tidak betul. -
Alasan Biasa
-
kesilapan atau kesilapan pengiraan "Cross -Border" berlaku semasa mengakses indeks.
Anggapkan bahawa had atas array dimasukkan.
Gunakan parameter tidak sah atau indeks bukan integer.
LIFN Inisialisasi atau input pengesahan sebelum cuba mengakses set.
- bagaimana untuk mengelakkan
-
- Sahkan semua indeks input dan parameter sebelum mengakses set.
- Semak panjang array dan kiraan senarai sebelum mengakses elemen.
Apabila diulang dalam array atau senarai, gunakan dengan jelas menentukan kitaran sempadan.
Pertimbangkan menggunakan kelas koleksi seperti senarai , mereka membenarkan cek sempadan semasa penyusunan.
Pastikan atribut indeks mempunyai fungsi pengesahan yang kuat untuk mengelakkan akses tidak sah. -
- bagaimana debug
-
- Gunakan alat debugging untuk menetapkan titik putus pada kedudukan yang tidak normal.
Semak penjejakan timbunan untuk mengenal pasti garis kod yang berkaitan dengan masalah. -
Semak nilai input yang digunakan untuk mengakses set.
Sahkan sama ada pengumpulan penyertaan itu diasaskan dan diisi dengan betul.
Pastikan logik pengindeksan tersuai telah dilaksanakan dengan betul dan mengendalikan keadaan kelebihan.
- Perbezaan antara vb.net
-
VB.NET Array Declaration menggunakan indeks terbesar dan bukannya mengira. Oleh itu, indeks berkesan array dengan saiz N adalah dari 0 hingga n-1. Cuba mengakses indeks lebih besar daripada atau sama dengan N akan menyebabkan keabnormalan. -
Atas ialah kandungan terperinci Apakah perbezaan antara IndexOutOfRangeException dan ArgumentOutOfRangeException dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!
Kenyataan: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