Toán tử tăng giảm tiền tố và tăng giảm hậu tố

Một phần của tài liệu Hướng đối tượng trong c# (Trang 32 - 33)

Giả sử muốn kết hợp các phép toán như gia tăng giá trị của một biến và gán giá trị của biến cho biến thứ hai, ta viết như sau:

var1 = var2++;

Câu hỏi được đặt ra là gán giá trị trước khi cộng hay gán giá trị sau khi đã cộng. Hay nói cách khác giá trị ban đầu của biến var2 là 10, sau khi thực hiện ta muốn giá trị của var1 là 10, var2 là 11, hay var1 là 11, var2 cũng 11?

Để giải quyết yêu cầu trên C# cung cấp thứ tự thực hiện phép toán tăng/giảm với phép toán gán, thứ tự này được gọi là tiền tố (prefix) hay hậu tố (postfix). Do đó ta có thể v iết: var1 = var2++; // Hậu tố

%= một lượng bằng giá trị của toán hạng

Khi lệnh này được thực hiện thì phép gán sẽ được thực hiện trước tiên, sau đó mới đến phép toán tăng. Kết quả là var1 = 10 và var2 = 11. Còn đối với trường hợp tiền tố: var1 = ++var2;

Khi đó phép tăng sẽ được thực hiện trước tức là giá trị của biến var2 sẽ là 11 và cuối cùng phép gán được thực hiện. Kết quả cả hai biến var1 và var2 điều có giá trị là 11.

Minh hoạ sử dụng toán tử tăng trước và tăng sau khi gán. using System;

class Tester {

static int Main() {

int valueOne = 10; int valueTwo;

valueTwo = valueOne++;

Console.WriteLine("Thuc hien tang sau: {0}, {1}", valueOne, valueTwo);

valueOne = 20;

valueTwo = ++valueOne;

Console.WriteLine("Thuc hien tang truoc: {0}, {1}", valueOne, valueTwo); Console.ReadLine(); return 0; } } Kết quả:

Thuc hien tang sau: 11, 10 Thuc hien tang truoc: 21, 21

Một phần của tài liệu Hướng đối tượng trong c# (Trang 32 - 33)

Tải bản đầy đủ (PDF)

(73 trang)