Các toán tử luận lí trong C# (tiếp tục)
Cái này có thể được đọc như “nếu shields là nhỏ hơn hoặc bằng 0, và armor là nhỏ hơn hoặc bằng 0…”. Với toán tử &&,
cả hai bộ phận của điều kiện phải là true cho toàn bộ biểu thức là true.
Toán tử || là tương tự, nhưng nếu một trong những biểu thức là true, toàn bộ biểu thức là true:
int shields = 50;
int armor = 20;
if (shields > 0 || armor > 0)Console.WriteLine(“You’re still alive! Keep going!”);
Với một trong những cái này, máy tính sẽ làm lazy evaluation, có nghĩa nếu nó đã biết toàn bộ trả lời của biểu thức
sau chỉ đánh giá bộ phận đầu tiên, nó sẽ không chán đánh giá bộ phận thứ hai. Đôi khi, con người sẽ sử dụng quy tắc
đó để đặt nhiều biểu thức phí tổn hơn trên phía phải, cho phép chúng nhảy qua đánh giá của nó khi không cần.
Các biểu thức này cho phép chúng ta hình thành các biểu thức mới từ các biểu thức hiện tại. Ví dụ, chúng ta có thể có
một && cái gắn hai biểu thức && khác – một sự hợp nhất này của bốn biểu thức tổng. Như nhiều công cụ chúng ta đã học về,
chỉ vì bạn có thể làm cái này không cón nghĩa bạn nên làm. Nếu một biểu thức phức đơn trở nên quá phức tạp để hiểu, chia
nó ra nhiều đoạn trên nhiều dòng để cải thiện sự rõ ràng code của bạn:
int shields = 50;
int armor = 20;
bool stillHasShields = shields > 0;
bool stillHasArmor = armor > 0;
if (stillHasShields || stillHasArmor)Console.WriteLine(“You’re still alive! Keep going!”);