Cập nhật các biến trong C#
Toán tử = là toán tử gán, và trong khi nó trông tương tự như dấu bằng, nó không hàm ý rằng hai
bên là bằng nhau. Thay vào đó, nó chỉ ra rằng một vài biểu thức bên phải nên được đánh giá và sau
đó lưu giữ vào trong biến thể hiện bên trái.
Nó là phổ biến cho các biến sẽ được cập nhật với các giá trị mới theo thời gian. Nó cũng là phổ biến
để tính toán một giá trị mới của biến dựa trên giá trị hiện tại của nó. Ví dụ, code sau tăng giá trị
của a lên 1:
int a = 5;
a = a + 1; // the variable a will have a value of 6 after running this line.
Dòng thứ hai đó sẽ làm a tăng lên 1, bất kể cái gì trước đó trong nó.
Code ở trên thể hiện phép gán khác như thế nào với ý tưởng toán học về sự bằng nhau. Trong thế giới toán
học, a=a+1 là một vô lí. Không số nào tồn tại cái bằng với một cái nhiều hơn bản thân nó. Nhưng trong code
C#, các phát biểu cái cập nhật một biến dựa trên giá trị hiện tại của nó là phổ biến. Thậm chí có một vài
shortcuts cho nó. Thay vì a=a+1, chúng ta có thể làm cái này thay vào:
a += 1;
Code này chính xác tương tự như a=a+1; nhưng ngắn hơn. Toán tử += được gọi là compound assignment operator
vì nó kết hợp một hoạt động (phép cộng trong trường hợp này) với một phép gán biến. Có các compound assignment
operators cho mỗi toán tử nhị ngôi chúng ta đã thấy trước kia, bao gồm +=, -=, *=, /=, và %=:
int a = 0;
a += 5; // The equivalent of a = a + 5; (a is 5 after this line runs.)
a -= 2; // The equivalent of a = a – 2; (a is 3 after this line runs.)
a *= 4; // The equivalent of a = a * 4; (a is 12 after this line runs.)
a /= 2; // The equivalent of a = a / 2; (a is 6 after this line runs.)
a %= 2; // The equivalent of a = a % 2; (a is 0 after this line runs.)