Rumah >pembangunan bahagian belakang >C++ >Mengapa Menambah Dua Bait dalam C# Menghasilkan Integer?
Memahami Cute Integer Implicit C#di Aritmetik Byte
pengendalian aritmetik byte sering mengejutkan pendatang baru. Mari kita meneroka mengapa menambahkan dua bait hasil dalam integer:Pertimbangkan kod ini:
<code class="language-csharp">byte x = 1; byte y = 2; byte z = x + y; // Compile-time error</code>Ini gagal kerana C# secara tersirat menukarkan hasil
ke x y
. Untuk memperbaikinya: int
<code class="language-csharp">byte z = (byte)(x + y); // This works</code>Kenapa penukaran tersirat ini kepada
? Bait dan seluar pendek, tidak seperti int
, int
, long
, dan float
, mempunyai julat terhad (8 dan 16 bit masing -masing). Operasi aritmetik dengan mudah dapat menghasilkan hasil melebihi julat ini. double
, yang lebih besar daripada nilai maksimum yang boleh dipegang oleh 255 1 = 256
. Untuk mengelakkan kesilapan limpahan dan kehilangan data, C# melindungi ini dengan secara automatik mempromosikan hasilnya kepada jenis data yang lebih besar, byte
. int
Semasa menggunakan array
mungkin meningkatkan prestasi untuk pengiraan yang melibatkan bilangan kecil, ingat pemutus tersirat. Pemutus eksplisit (byte
, mencegah limpahan. (byte)
Ringkasnya, tingkah laku byte
, walaupun pada mulanya tidak bertentangan, adalah pilihan reka bentuk yang disengajakan dalam C# yang mengutamakan keselamatan data dan menghalang hasil yang tidak dijangka daripada operasi aritmetik pada jenis dengan julat terhad. Memahami tingkah laku ini adalah kunci untuk menulis kod C# yang mantap dan boleh dipercayai.
Atas ialah kandungan terperinci Mengapa Menambah Dua Bait dalam C# Menghasilkan Integer?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!