Trong ngữ cảnh không được chọn, hãy thêm một số vào một số nguyên có giá trị 2147483647 được đảm bảo để kết quả là -2147483648?Là C# /. NET đã ký hành vi tràn số nguyên được xác định?
Ví dụ, với đoạn mã sau
const int first = int.MaxValue;
int second = first;
if (second >= first)
{
Console.WriteLine("First check");
}
second++;
if (second >= first)
{
Console.WriteLine("Second check");
}
Trong C++, nó sẽ là hoàn toàn hợp lệ cho cả hai "kiểm tra đầu tiên" và "kiểm tra thứ hai" được in, như tôi ưu hoa có thể tái sử dụng các kết quả của đầu tiên kiểm tra thứ hai.
Có đúng sự thật của C# không?
bạn đã thử thêm 1 vào số và kiểm tra nó trong trình gỡ lỗi .. nó sẽ mang lại '-2147483648' – MethodMan
khi nói đến .NET, thực sự chỉ có một trình biên dịch – Steve
Điều kiện đầu tiên Nếu có nghĩa là True. Và thứ hai sẽ không in ra giao diện điều khiển 'Kiểm tra thứ hai' bởi vì nó trở thành Số nguyên âm như tôi đã nêu trong nhận xét đầu tiên của tôi .. vậy vấn đề thực tế bạn đang đối mặt với – MethodMan