Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Saya Boleh Mengendalikan Limpahan Integer dalam C#?

Bagaimanakah Saya Boleh Mengendalikan Limpahan Integer dalam C#?

Linda Hamilton
Lepaskan: 2024-12-26 06:58:09
asal
732 orang telah melayarinya

How Can I Handle Integer Overflow in C#?

Pengendalian Limpahan untuk Integer C#

Dalam konteks masalah Project Euler 10, anda menghadapi tingkah laku yang tidak dijangka apabila menggunakan integer (int) pembolehubah untuk mengira jumlah nombor perdana di bawah dua juta. Walaupun keputusan melebihi nilai maksimum untuk int, C# tidak menimbulkan pengecualian limpahan.

Tidak seperti beberapa bahasa pengaturcaraan lain, operasi integer C# tidak membuang pengecualian apabila limpahan secara lalai. Ini bermakna apabila limpahan berlaku, hasilnya hanya "dibungkus" kepada nilai dalam julat jenis data. Dalam kes int, hasilnya mungkin berada dalam julat nilai negatif, jauh daripada jumlah sebenar yang anda cari.

Untuk mengendalikan limpahan secara eksplisit, anda mempunyai dua pilihan:

  1. Tetapan Projek: Dalam Visual Studio, anda boleh mendayakan semakan limpahan dalam tetapan projek dengan menetapkan pilihan "Pengesanan limpahan aritmetik" kepada "Dayakan untuk semua operasi aritmetik."
  2. Operator Disemak: Sebagai alternatif, anda boleh menggunakan kata kunci yang disemak untuk membuat pengiraan khusus disemak. Contohnya:
int result = checked(largeInt + otherLargeInt);
Salin selepas log masuk

Dalam kes ini, limpahan akan membuang System.OverflowException.

Kebalikan daripada yang ditanda tidak ditanda, yang menyekat semakan limpahan. Ini hanya boleh digunakan apabila semakan limpahan didayakan dalam tetapan projek.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengendalikan Limpahan Integer dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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