Các biểu thức phức hợp và trật tự hoạt động
Từ trước đến giờ, các biểu thức toán học của chúng ta chỉ liên quan đến một toán tử đơn vào một
thời điểm. Nhưng như trong thế giới toán học, các biểu thức toán học của chúng ta có thể kết hợp
nhiều toán tử. Ví dụ, cái sau sử dụng hai hoạt động khác nhau trong một biểu thức đơn:
int result = 2 + 5 * 2;
Khi cái này xảy ra, mẹo là hiểu hoạt động nào xảy ra trước tiên. Nếu chúng ta thực hiện phép cộng
trước, kết quả là 14. Nếu chúng ta thực hiện phép nhân trước, kết quả là 12.
Có một tập các quy tắc cái kiểm soát toán tử nào được đánh giá trước. Tập quy tắc này được gọi là
trật tự các hoạt động. Có hai phần đối với cái này: (1) ưu tiên toán tử quyết định dạng hoạt động nào
đi trước những cái khác (phép nhân trước phép cộng, ví dụ), và (2) operator associativity thông báo
cho bạn liệu hai toán tử cùng ưu tiên nên được đánh giá từ trái qua phải hay từ phải qua trái.
May mắn là, C# lấy trật tự toán học tiêu chuẩn các hoạt động (tới chừng mực cái nó có thể), nên nó
tất cả sẽ cảm thấy tự nhiên nếu bạn đã quen với trật tự các hoạt động trong toán học.
C# có nhiều toán tử vượt quá phép cộng, trừ, nhân và chia, nên tập quy tắc hoàn chỉnh là phức tạp. Cho
bây giờ, nó là đủ để nói rằng hai quy tắc sau áp dụng:
+ Phép nhân và chia thực hiện trước, từ trái qua phải.
+ Phép cộng và trừ thực hiện sau, từ trái qua phải.
Với các quy tắc này, chúng ta có thể biết rằng biểu thức 2 + 5 * 2 sẽ đánh giá phép nhân trước, chuyển nó
thành 2+10, và phép cộng thực hiện sau, cho kết quả cuối cùng là 12, cái được lưu trong result.