Với biến A và biến B mang giá trị kiểu Boolean, bảng sau là các toán tử logic được cung cấp bởi C#.
| Operator | Description | Example |
| && | Gọi toán tử login AND, nếu cả hai toán hạng đều đúng thì điều kiện đó đúng. | (A && B) is false. |
| || | Gọi toán tử logic OR, nếu cả hai toán hạng đều sai thì điều kiện đó sai. | (A || B) is true. |
| ! | Gọi toán tử logic NOT, dùng để đảo trạng thái logic của toán hạng. Nếu một điều kiện đúng sẽ chuyển thành sai khi dùng toán tử này. | !(A && B) is true. |
Ví dụ:
using System;
namespace OperatorsAppl
{
class Program
{
static void Main(string[] args)
{
bool a = true;
bool b = true;
if (a && b)
{
Console.WriteLine("Line 1 - Condition is true");
}
if (a || b)
{
Console.WriteLine("Line 2 - Condition is true");
}
/* lets change the value of a and b */
a = false;
b = true;
if (a && b)
{
Console.WriteLine("Line 3 - Condition is true");
}
else
{
Console.WriteLine("Line 3 - Condition is not true");
}
if (!(a && b))
{
Console.WriteLine("Line 4 - Condition is true");
}
Console.ReadLine();
}
}
}
Kết quả sau khi chạy chương trình trên:
-
Toán tử trên bit
Toán tử trên bit làm việc trên các bit. Bảng sau đây là bảng sự thật các toán tử trên bit:
| p | q | p & q | p | q | p ^ q |
| 0 | 0 | 0 | 0 | 0 |
| 0 | 1 | 0 | 1 | 1 |
| 1 | 1 | 1 | 1 | 0 |
| 1 | 0 | 0 | 1 | 1 |
Với A=60, B=13, Chuyển hai số này sang nhị phân được:
- A = 0011 1100
- B = 0000 1101
Ta có:
| Operator | Description | Example |
| & | Toán tử nhị phân AND, copy bit 1 vào kết quả nếu nó tồn tại trong cả 2 toán hạng | (A & B) = 12, tương đương 0000 1100 |
| | | Toán tử nhị phân OR, copy bit 1 vào kết quả nếu nó tồn tại trong 1 trong 2 toán hạng. | (A | B) = 61, tương đương 0011 1101 |
| ^ | Toán tử nhị phân XOR, copy bit 1 vào kết quả nếu nó chỉ tồn tại trong 1 trong 2 toán hạng | (A ^ B) = 49, tương đương 0011 0001 |
| ~ | Toán tử nhị phân bù 1 có tác dụng đảo bit | (~A ) = 61, tương đương 1100 0011 |
| << | Toán tử nhị phân dịch trái, dịch bit sang trái một số lượng bit bằng toán hạng bên phải. | A << 2 = 240, tương đương 1111 0000 |
| >> | Toán tử nhị phân dịch phải, dịch bit sang phải một số lượng bit bằng toán hạng bên phải. | A >> 2 = 15, tương đương 0000 1111 |
Ví dụ:
using System;
namespace OperatorsAppl
{
class Program
{
static void Main(string[] args)
{
int a = 60; /* 60 = 0011 1100 */
int b = 13; /* 13 = 0000 1101 */
int c = 0;
c = a & b; /* 12 = 0000 1100 */
Console.WriteLine("Line 1 - Value of c is {0}", c );
c = a | b; /* 61 = 0011 1101 */
Console.WriteLine("Line 2 - Value of c is {0}", c);
c = a ^ b; /* 49 = 0011 0001 */
Console.WriteLine("Line 3 - Value of c is {0}", c);
c = ~a; /*-61 = 1100 0011 */
Console.WriteLine("Line 4 - Value of c is {0}", c);
c = a << 2; /* 240 = 1111 0000 */
Console.WriteLine("Line 5 - Value of c is {0}", c);
c = a >> 2; /* 15 = 0000 1111 */
Console.WriteLine("Line 6 - Value of c is {0}", c);
Console.ReadLine();
}
}
}
Kết quả:
-
Toán tử gán
| Operator | Description | Example |
| = | Gán giá trị toán hạng bên phải cho toán hạng bên trái | C = A + B assigns value of A + B into C |
| += | Cộng toán hạng bên trái và toán hạng bên phải, gán kết quả cho toán hạng bên trái. | C += A is equivalent to C = C + A |
| -= | Toán hạng bên trái trừ toán hạng bên phải và gán kết quả này cho toán hạng bên trái. | C -= A is equivalent to C = C – A |
| *= | Nhân 2 toán hạng và gán kết quả này cho toán hạng bên trái. | C *= A is equivalent to C = C * A |
| /= | Toán hạng bên trái chia toán hạng bên phải và gán kết quả này cho toán hạng bên trái. | C /= A is equivalent to C = C / A |
| %= | Toán hạng bên trái chia lấy dư toán hạng bên phải và gán kết quả này cho toán hạng bên trái. | C %= A is equivalent to C = C % A |
| <<= | Toán tử dịch trái. | C <<= 2 is same as C = C << 2 |
| >>= | Toán tử dịch phải | C >>= 2 is same as C = C >> 2 |
| &= | Toán tử AND trên bit | C &= 2 is same as C = C & 2 |
| ^= | Toán tử gán và OR loại trừ trên bit | C ^= 2 is same as C = C ^ 2 |
| |= | Toán tử gán và OR bao hàm trên bit | C |= 2 is same as C = C | 2 |
Ví dụ:
using System;
namespace OperatorsAppl
{
class Program
{
static void Main(string[] args)
{
int a = 21;
int c;
c = a;
Console.WriteLine("Line 1 - = Value of c = {0}", c);
c += a;
Console.WriteLine("Line 2 - += Value of c = {0}", c);
c -= a;
Console.WriteLine("Line 3 - -= Value of c = {0}", c);
c *= a;
Console.WriteLine("Line 4 - *= Value of c = {0}", c);
c /= a;
Console.WriteLine("Line 5 - /= Value of c = {0}", c);
c = 200;
c %= a;
Console.WriteLine("Line 6 - %= Value of c = {0}", c);
c <<= 2;
Console.WriteLine("Line 7 - <<= Value of c = {0}", c);
c >>= 2;
Console.WriteLine("Line 8 - >>= Value of c = {0}", c);
c &= 2;
Console.WriteLine("Line 9 - &= Value of c = {0}", c);
c ^= 2;
Console.WriteLine("Line 10 - ^= Value of c = {0}", c);
c |= 2;
Console.WriteLine("Line 11 - |= Value of c = {0}", c);
Console.ReadLine();
}
}
}
Kết quả:
-
Toán tử hỗn hợp (Xem tiếp trang sau)






![[ASP.NET Core MVC] – Hướng dẫn tạo View p3](https://sinhvientot.net/wp-content/uploads/2019/01/Bitmap-MEDIUM_ASP.NET-Core-MVC-Logo_2colors_Square_Boxed_RGB-218x150.png)
















