Toán tử C#

Trong bài này, chúng ta sẽ tìm hiểu mọi thứ về các loại toán tử khác nhau trong ngôn ngữ lập trình C # và cách sử dụng chúng.

Toán tử là các ký hiệu được sử dụng để thực hiện các phép toán trên các toán hạng. Toán hạng có thể là biến và / hoặc hằng số.

Ví dụ , in 2+3+là một toán tử được sử dụng để thực hiện phép toán cộng, while 2và 3là các toán hạng.

Các toán tử được sử dụng để thao tác với các biến và giá trị trong một chương trình. C # hỗ trợ một số toán tử được phân loại dựa trên loại hoạt động mà chúng thực hiện.

1. Toán tử chuyển nhượng cơ bản

Toán tử gán cơ bản (=) được sử dụng để gán giá trị cho các biến. Ví dụ,

double x;
x = 50.05;

Ở đây, 50.05 được gán cho x.

Ví dụ 1: Toán tử chuyển nhượng cơ bản

using System;

namespace Operator
{
	class AssignmentOperator
	{
		public static void Main(string[] args)
		{
			int firstNumber, secondNumber;
			// Assigning a constant to variable
			firstNumber = 10;
			Console.WriteLine("First Number = {0}", firstNumber);

			// Assigning a variable to another variable
			secondNumber = firstNumber;
			Console.WriteLine("Second Number = {0}", secondNumber);
		}
	}
}

Khi chúng tôi chạy chương trình, kết quả đầu ra sẽ là:

First Number = 10
Second Number = 10

Đây là một ví dụ đơn giản chứng minh việc sử dụng toán tử gán.

Bạn có thể nhận thấy việc sử dụng dấu ngoặc nhọn { }trong ví dụ. Chúng ta sẽ thảo luận về chúng trong định dạng chuỗi . Hiện tại, chỉ cần lưu ý rằng biến {0}được thay thế bằng biến đầu tiên theo sau chuỗi, {1}được thay bằng biến thứ hai, v.v.

2. Toán tử số học

Toán tử số học được sử dụng để thực hiện các phép tính số học như cộng, trừ, nhân, chia, v.v.

Ví dụ,

int x = 5;
int y = 10;
int z = x + y;// z = 15
OperatorOperator NameExample
+Addition Operator6 + 3 evaluates to 9
Subtraction Operator10 – 6 evaluates to 4
*Multiplication Operator4 * 2 evaluates to 8
/Division Operator10 / 5 evaluates to 2
%Modulo Operator (Remainder)16 % 3 evaluates to 1

Ví dụ 2: Toán tử số học

using System;
 
namespace Operator
{
	class ArithmeticOperator
	{
		public static void Main(string[] args)
		{
			double firstNumber = 14.40, secondNumber = 4.60, result;
			int num1 = 26, num2 = 4, rem;

			// Addition operator
			result = firstNumber + secondNumber;
			Console.WriteLine("{0} + {1} = {2}", firstNumber, secondNumber, result);

			// Subtraction operator
			result = firstNumber - secondNumber;
			Console.WriteLine("{0} - {1} = {2}", firstNumber, secondNumber, result);

			// Multiplication operator
			result = firstNumber * secondNumber;
			Console.WriteLine("{0} * {1} = {2}", firstNumber, secondNumber, result);

			// Division operator
			result = firstNumber / secondNumber;
			Console.WriteLine("{0} / {1} = {2}", firstNumber, secondNumber, result);

			// Modulo operator
			rem = num1 % num2;
			Console.WriteLine("{0} % {1} = {2}", num1, num2, rem);
		}
	}
}

Khi chúng tôi chạy chương trình, kết quả đầu ra sẽ là:

14.4 + 4.6 = 19
14.4 - 4.6 = 9.8
14.4 * 4.6 = 66.24
14.4 / 4.6 = 3.1304347826087
26 % 4 = 2

Các phép toán số học được thực hiện trong ví dụ trên. Các biến có thể được thay thế bằng hằng số trong các câu lệnh. Ví dụ,

result = 4.5 + 2.7 ; // result will hold 7.2
result = firstNumber - 3.2; // result will hold 11.2

3. Toán tử quan hệ

Toán tử quan hệ được sử dụng để kiểm tra mối quan hệ giữa hai toán hạng. Nếu mối quan hệ là true thì kết quả sẽ là true, ngược lại thì kết quả là false.

Các toán tử quan hệ được sử dụng trong việc ra quyết định và các vòng lặp.

OperatorOperator NameExample
==Equal to6 == 4 evaluates to false
>Greater than3 > -1 evaluates to true
<Less than5 < 3 evaluates to false
>=Greater than or equal to4 >= 4 evaluates to true
<=Less than or equal to5 <= 3 evaluates to false
!=Not equal to10 != 2 evaluates to true

Ví dụ 3: Toán tử quan hệ

using System;
 
namespace Operator
{
	class RelationalOperator
	{
		public static void Main(string[] args)
		{
			bool result;
			int firstNumber = 10, secondNumber = 20;

			result = (firstNumber==secondNumber);
			Console.WriteLine("{0} == {1} returns {2}",firstNumber, secondNumber, result);

			result = (firstNumber > secondNumber);
			Console.WriteLine("{0} > {1} returns {2}",firstNumber, secondNumber, result);

			result = (firstNumber < secondNumber);
			Console.WriteLine("{0} < {1} returns {2}",firstNumber, secondNumber, result);

			result = (firstNumber >= secondNumber);
			Console.WriteLine("{0} >= {1} returns {2}",firstNumber, secondNumber, result);

			result = (firstNumber <= secondNumber);
			Console.WriteLine("{0} <= {1} returns {2}",firstNumber, secondNumber, result);

			result = (firstNumber != secondNumber);
			Console.WriteLine("{0} != {1} returns {2}",firstNumber, secondNumber, result);
		}
	}
}

Khi chúng tôi chạy chương trình, kết quả đầu ra sẽ là:

10 == 20 returns False
10 > 20 returns False
10 < 20 returns True
10 >= 20 returns False
10 <= 20 returns True
10 != 20 returns True

4. Toán tử logic

Các toán tử logic được sử dụng để thực hiện thao tác logic như andor. Các toán tử logic hoạt động trên các biểu thức boolean ( truevà false) và trả về các giá trị boolean. Các toán tử logic được sử dụng trong việc ra quyết định và các vòng lặp.

Đây là cách kết quả được đánh giá cho các toán tử ANDvà lôgic OR.

Operand 1Operand 2OR (||)AND (&&)
truetruetruetrue
truefalsetruefalse
falsetruetruefalse
falsefalsefalsefalse

Nói một cách dễ hiểu, bảng này có thể được tóm tắt như sau:

  • If one of the operand is true, the OR operator will evaluate it to true.
  • If one of the operand is false, the AND operator will evaluate it to false.

Ví dụ 4: Toán tử logic

using System;
 
namespace Operator
{
	class LogicalOperator
	{
		public static void Main(string[] args)
		{
			bool result;
			int firstNumber = 10, secondNumber = 20;

			// OR operator
			result = (firstNumber == secondNumber) || (firstNumber > 5);
			Console.WriteLine(result);

			// AND operator
			result = (firstNumber == secondNumber) && (firstNumber > 5);
			Console.WriteLine(result);
		}
	}
}

Khi chúng tôi chạy chương trình, kết quả đầu ra sẽ là:

True
False

5. Các nhà khai thác đơn lẻ

Không giống như các toán tử khác, các toán tử một ngôi hoạt động trên một toán hạng duy nhất.

OperatorOperator NameDecfscription
+Unary PlusLeaves the sign of operand as it is
Unary MinusInverts the sign of operand
++IncrementIncrement value by 1
DecrementDecrement value by 1
!Logical Negation (Not)Inverts the value of a boolean

Ví dụ 5: Toán tử đơn nguyên

using System;
 
namespace Operator
{
	class UnaryOperator
	{
		public static void Main(string[] args)
		{
			int number = 10, result;
			bool flag = true;

			result = +number;
			Console.WriteLine("+number = " + result);

			result = -number;
			Console.WriteLine("-number = " + result);

			result = ++number;
			Console.WriteLine("++number = " + result);

			result = --number;
			Console.WriteLine("--number = " + result);

			Console.WriteLine("!flag = " + (!flag));
		}
	}
}

Khi chúng tôi chạy chương trình, kết quả đầu ra sẽ là:

+number = 10
-number = -10
++number = 11
--number = 10
!flag = False

Các (++)toán (--)tử tăng và giảm có thể được sử dụng làm tiền tố và hậu tố. Nếu được sử dụng làm tiền tố, sự thay đổi về giá trị của biến được nhìn thấy trên cùng một dòng và nếu được sử dụng làm tiền tố hậu tố, sự thay đổi về giá trị của biến được nhìn thấy ở dòng tiếp theo. Điều này sẽ rõ ràng bằng ví dụ dưới đây.

Ví dụ 6: Các toán tử Đăng và Tăng trước trong C #

using System;
 
namespace Operator
{
	class UnaryOperator
	{
		public static void Main(string[] args)
		{
			int number = 10;

			Console.WriteLine((number++));
			Console.WriteLine((number));

			Console.WriteLine((++number));
			Console.WriteLine((number));
		}
	}
}

Khi chúng tôi chạy chương trình, kết quả đầu ra sẽ là:

10
11
12
12

Chúng ta có thể thấy tác dụng của việc sử dụng ++as prefix và postfix. Khi ++được sử dụng sau toán hạng, giá trị được đánh giá đầu tiên và sau đó nó được tăng dần lên 1. Do đó tuyên bố

Console.WriteLine((number++));

bản in 10thay vì 11. Sau khi giá trị được in, giá trị của số sẽ tăng lên 1.

Quá trình này ngược lại khi ++được sử dụng làm tiền tố. Giá trị được tăng lên trước khi in. Do đó tuyên bố

Console.WriteLine((++number));

bản in 12.

Trường hợp tương tự đối với toán tử giảm dần (--).

6. Nhà khai thác bậc ba

Toán tử bậc ba ? :hoạt động trên ba toán hạng. Nó là một cách viết tắt của if-then-elsetuyên bố. Toán tử bậc ba có thể được sử dụng như sau:

variable = Condition? Expression1 : Expression2;

Toán tử bậc ba hoạt động như sau:

  • If the expression stated by Condition is true, the result of Expression1 is assigned to variable.
  • If it is false, the result of Expression2 is assigned to variable.

Ví dụ 7: Toán tử bậc ba

using System;
 
namespace Operator
{
	class TernaryOperator
	{
		public static void Main(string[] args)
		{
			int number = 10;
			string result;

			result = (number % 2 == 0)? "Even Number" : "Odd Number";
			Console.WriteLine("{0} is {1}", number, result);
		}
	}
}

Khi chúng tôi chạy chương trình, kết quả đầu ra sẽ là:

10 is Even Number

Để tìm hiểu thêm, hãy truy cập toán tử bậc ba C # .

7. Toán tử Bitwise và Bit Shift

Các toán tử bit và dịch chuyển bit được sử dụng để thực hiện các thao tác điều khiển bit.

OperatorOperator Name
~Bitwise Complement
&Bitwise AND
|Bitwise OR
^Bitwise Exclusive OR
<<Bitwise Left Shift
>>Bitwise Right Shift

Ví dụ 8: Toán tử Bitwise và Bit Shift

using System;
 
namespace Operator
{
	class BitOperator
	{
		public static void Main(string[] args)
		{
			int firstNumber = 10;
			int secondNumber = 20;
			int result;

			result = ~firstNumber;
			Console.WriteLine("~{0} = {1}", firstNumber, result);

			result = firstNumber & secondNumber;
			Console.WriteLine("{0} & {1} = {2}", firstNumber,secondNumber, result);

			result = firstNumber | secondNumber;
			Console.WriteLine("{0} | {1} = {2}", firstNumber,secondNumber, result);

			result = firstNumber ^ secondNumber;
			Console.WriteLine("{0} ^ {1} = {2}", firstNumber,secondNumber, result);

			result = firstNumber << 2;
			Console.WriteLine("{0} << 2 = {1}", firstNumber, result);

			result = firstNumber >> 2;
			Console.WriteLine("{0} >> 2 = {1}", firstNumber, result);
		}
	}
}

Khi chúng tôi chạy chương trình, kết quả đầu ra sẽ là:

~10 = -11
10 & 20 = 0
10 | 20 = 30
10 ^ 20 = 30
10 << 2 = 40
10 >> 2 = 2

Để tìm hiểu thêm, hãy truy cập toán tử C # Bitwise và Bit Shift .

8. Người điều hành chuyển nhượng hợp chất

OperatorOperator NameExampleEquivalent To
+=Addition Assignmentx += 5x = x + 5
-=Subtraction Assignmentx -= 5x = x - 5
*=Multiplication Assignmentx *= 5x = x * 5
/=Division Assignmentx /= 5x = x / 5
%=Modulo Assignmentx %= 5x = x % 5
&=Bitwise AND Assignmentx &= 5x = x & 5
|=Bitwise OR Assignmentx |= 5x = x | 5
^=Bitwise XOR Assignmentx ^= 5x = x ^ 5
<<=Left Shift Assignmentx <<= 5x = x << 5
>>=Right Shift Assignmentx >>= 5x = x >> 5
=>Lambda Operatorx => x*xReturns x*x

Ví dụ 9: Toán tử gán ghép

using System;
 
namespace Operator
{
	class BitOperator
	{
		public static void Main(string[] args)
		{
			int number = 10;

			number += 5;
			Console.WriteLine(number);

			number -= 3;
			Console.WriteLine(number);

			number *= 2;
			Console.WriteLine(number);

			number /= 3;
			Console.WriteLine(number);

			number %= 3;
			Console.WriteLine(number);

			number &= 10;
			Console.WriteLine(number);

			number |= 14;
			Console.WriteLine(number);

			number ^= 12;
			Console.WriteLine(number);

			number <<= 2;
			Console.WriteLine(number);

			number >>= 3;
			Console.WriteLine(number);
		}
	}
}

Khi chúng tôi chạy chương trình, kết quả đầu ra sẽ là:

15
12
24
8
2
2
14
2
8
1








Gõ tìm kiếm nhanh...