16
ไบต์ + ไบต์ = int ... ทำไม?
ดูรหัส C # นี้: byte x = 1; byte y = 2; byte z = x + y; // ERROR: Cannot implicitly convert type 'int' to 'byte' ผลลัพธ์ของคณิตศาสตร์ใด ๆ ที่ดำเนินการกับประเภทbyte(หรือshort) จะถูกแปลงกลับไปเป็นจำนวนเต็มโดยปริยาย วิธีแก้ปัญหาคือการส่งผลลัพธ์กลับไปที่ไบต์อย่างชัดเจน: byte z = (byte)(x + y); // this works สิ่งที่ฉันสงสัยคือเพราะอะไร มันเป็นสถาปัตยกรรมหรือไม่? ปรัชญา? เรามี: int+ int=int long+ long=long float+ …
365
c#
type-conversion