Giả sử chương trình C# có hai thuộc tính thập phân không có giá trị A và B. Giá trị sau đây chỉ trả về giá trị của A: var result = A ?? 0 + B ?? 0; Cách sử dụng chính xác là: var result = (A ?? 0) + (B ?? 0);C# Ngoài với số thập phân có thể vô hiệu và ưu tiên của ?? nhà điều hành
mẫu giao diện điều khiển chương trình:
class Program
{
static void Main(string[] args)
{
A = (decimal)0.11;
B = (decimal)0.69;
NullableDecimalAddition();
Console.ReadLine();
}
public static decimal? A { get; set; }
public static decimal? B { get; set; }
private static void NullableDecimalAddition()
{
decimal result1 = A ?? 0 + B ?? 0;
decimal result2 = (A ?? 0) + (B ?? 0);
Console.WriteLine("result1: " + result1); // = 0.11
Console.WriteLine("result2: " + result2); // = 0.80
}
}
Câu hỏi của tôi là những gì xảy ra trong quá trình tính toán với result1. Làm thế nào là ưu tiên của + và ?? toán tử?
Ok, cảm ơn bạn đã trả lời chính xác – FSou1
Thật tuyệt vời khi chúng tôi nhận được loại thông tin này –
Cảm ơn tất cả các bạn đã trả lời và giải thích. – Nicolo