前面講過如何使用算術操作符來創建新值。例如,以下語句使用操作符+來創建比變量answer大42的一個值,新值將寫入控制台:
Console.WriteLine(answer + 42);
前面還講過如何使用賦值語句來更改一個變量的值。以下語句使用賦值操作符將answer的值變成42:
answer = 42;
如果希望在一個變量的值上加42,可以將賦值操作符與加法操作符合並到一起。例如,以下語句在answer上加42,並將新值賦給answer。換言之,在運行該語句之後,answer的值將比之前大42:
answer = answer + 42;
雖然這是一個有效的語句,但有經驗的程序員不會這樣寫。在變量上加一個值是非常普遍的一個操作,所以Microsoft Visual C#專門提供了一個復合賦值操作符+=來簡化這個操作。為了在answer上加42,有經驗的程序員會這樣寫:
answer += 42;
利用這個快捷方式,可以將任何算術操作符與賦值操作符合並到一起,表5.1對此進行了總結。這些操作符統稱為復合賦值操作符(compound assignment operator)。
表5.1 復合賦值操作符
錯誤寫法
正確寫法
variable = variable * number; variable *= number; variable = variable / number; variable /= number; variable = variable % number; variable %= number; variable = variable + number; variable += number; variable = variable - number; variable -= number;提示 復合賦值操作符與簡單賦值操作符具有一樣的優先級和右結合性。
操作符+=也可作用於字符串;它能將一個字符串附加到另一個字符串末尾。例如,以下代碼將在控制台上顯示"Hello John":
string name = "John"; string greeting = "Hello "; greeting += name; Console.WriteLine(greeting);
但是,不能將其他任何復合賦值操作符用在字符串上。
注意 需要讓一個變量遞增或遞減1時,不要使用復合賦值操作符,而是使用操作符++和--。例如,以下語句的寫法是錯誤的:
count += 1;
正確寫法如下:
count++;