C # – Toán tử


Một toán tử là một ký hiệu yêu cầu trình biên dịch thực hiện các thao tác toán học hoặc logic cụ thể. C # có nhiều toán tử tích hợp sẵn và cung cấp các loại toán tử sau:

  • Toán tử số học
  • Toán tử quan hệ
  • Toán tử logic
  • Toán tử Bitwise
  • Người điều hành nhiệm vụ
  • Nhà điều hành khác

Hướng dẫn này giải thích từng toán tử số học, quan hệ, logic, bitwise, phép gán và các toán tử khác.

Toán tử số học

Bảng sau hiển thị tất cả các toán tử số học được C # hỗ trợ. Giả sử biến Một giữ 10 và biến B giữ 20 sau đó –

Hiển thị các ví dụ

Nhà điều hànhSự mô tảThí dụ
+Thêm hai toán hạngA + B = 30
Trừ toán hạng thứ hai với toán hạng đầu tiênA – B = -10
*Nhân cả hai toán hạngA * B = 200
/Chia tử số cho tử sốB / A = 2
%Toán tử mô đun và phần còn lại của sau một phép chia số nguyênB% A = 0
++Toán tử tăng dần làm tăng giá trị số nguyên lên mộtA ++ = 11
Toán tử giảm dần giảm giá trị số nguyên đi mộtA– = 9

Toán tử quan hệ

Bảng sau đây cho thấy tất cả các toán tử quan hệ được hỗ trợ bởi C #. Giả sử biến Một giữ 10 và biến B giữ 20, sau đó –

Hiển thị các ví dụ

Nhà điều hànhSự mô tảThí dụ
==Kiểm tra xem giá trị của hai toán hạng có bằng nhau hay không, nếu có thì điều kiện trở thành true.(A == B) không đúng.
! =Kiểm tra xem giá trị của hai toán hạng có bằng nhau hay không, nếu các giá trị không bằng nhau thì điều kiện trở thành true.(A! = B) là đúng.
>Kiểm tra xem giá trị của toán hạng bên trái có lớn hơn giá trị của toán hạng bên phải hay không, nếu có thì điều kiện trở thành true.(A> B) là không đúng.
<Kiểm tra xem giá trị của toán hạng bên trái có nhỏ hơn giá trị của toán hạng bên phải hay không, nếu có thì điều kiện trở thành true.(A
> =Kiểm tra xem giá trị của toán hạng bên trái có lớn hơn hoặc bằng giá trị của toán hạng bên phải hay không, nếu có thì điều kiện trở thành true.(A> = B) là không đúng.
<=Kiểm tra xem giá trị của toán hạng bên trái có nhỏ hơn hoặc bằng giá trị của toán hạng bên phải hay không, nếu có thì điều kiện trở thành true.(A <= B) là đúng.

Toán tử logic

Bảng sau đây cho thấy tất cả các toán tử logic được hỗ trợ bởi C #. Giả sử biến Một giữ giá trị Boolean true và biến B giữ giá trị Boolean false, sau đó –

Hiển thị các ví dụ

Nhà điều hànhSự mô tảThí dụ
&&Được gọi là toán tử logic AND. Nếu cả hai toán hạng đều khác 0 thì điều kiện trở thành true.(A && B) là sai.
||Được gọi là Toán tử logic HOẶC. Nếu bất kỳ toán hạng nào trong hai toán hạng khác 0 thì điều kiện trở thành true.(A || B) là đúng.
!Được gọi là Toán tử logic NOT. Sử dụng để đảo ngược trạng thái logic của toán hạng của nó. Nếu một điều kiện là đúng thì toán tử logic NOT sẽ sai.! (A && B) là đúng.

Toán tử Bitwise

Toán tử bitwise hoạt động trên các bit và thực hiện thao tác từng bit. Bảng sự thật cho &, |, và ^ như sau:

Pqp & qp | qp ^ q
00000
01011
11110
10011

Giả sử nếu A = 60; và B = 13; thì ở định dạng nhị phân, chúng như sau:

A = 0011 1100

B = 0000 1101

——————-

A&B = 0000 1100

A | B = 0011 1101

A ^ B = 0011 0001

~ A = 1100 0011

Các toán tử Bitwise được C # hỗ trợ được liệt kê trong bảng sau. Giả sử biến A giữ 60 và biến B giữ 13, thì –

Hiển thị các ví dụ

Nhà điều hànhSự mô tảThí dụ
&Toán tử Binary AND sao chép một bit vào kết quả nếu nó tồn tại trong cả hai toán hạng.(A & B) = 12, là 0000 1100
|Toán tử OR nhị phân sao chép một bit nếu nó tồn tại trong một trong hai toán hạng.(A | B) = 61, là 0011 1101
^Toán tử XOR nhị phân sao chép bit nếu nó được đặt trong một toán hạng nhưng không phải cả hai.(A ^ B) = 49, là 0011 0001
~Toán tử bổ sung số nhị phân là một ngôi và có tác dụng ‘lật’ các bit.(~ A) = -61, là 1100 0011 trong phần bù của 2 do một số nhị phân có dấu.
<<Toán tử dịch chuyển trái nhị phân. Giá trị của toán hạng bên trái được di chuyển sang trái bởi số bit được chỉ định bởi toán hạng bên phải.A << 2 = 240, là 1111 0000
>>Toán tử Shift phải nhị phân. Giá trị toán hạng bên trái được di chuyển sang phải bằng số bit được chỉ định bởi toán hạng bên phải.A >> 2 = 15, là 0000 1111

Người điều hành nhiệm vụ

Có các toán tử gán sau được C # hỗ trợ:

Hiển thị các ví dụ

Nhà điều hànhSự mô tảThí dụ
=Toán tử gán đơn giản, Gán giá trị từ toán hạng bên phải sang toán hạng bên tráiC = A + B gán giá trị của A + B vào C
+ =Thêm toán tử gán AND, Nó thêm toán hạng bên phải vào toán hạng bên trái và gán kết quả cho toán hạng bên tráiC + = A tương đương với C = C + A
– =Trừ toán tử gán AND, Nó trừ toán hạng bên phải khỏi toán hạng bên trái và gán kết quả cho toán hạng bên tráiC – = A tương đương với C = C – A
* =Nhân toán tử gán AND, Nó nhân toán hạng bên phải với toán hạng bên trái và gán kết quả cho toán hạng bên tráiC * = A tương đương với C = C * A
/ =Toán tử gán AND, Nó chia toán hạng bên trái với toán hạng bên phải và gán kết quả cho toán hạng bên tráiC / = A tương đương với C = C / A
% =Toán tử gán mô-đun AND, cần mô-đun sử dụng hai toán hạng và gán kết quả cho toán hạng bên tráiC% = A tương đương với C = C% A
<< =Dịch chuyển trái và toán tử gánC << = 2 giống với C = C << 2
>> =Toán tử chuyển nhượng AND phảiC >> = 2 giống với C = C >> 2
& =Toán tử gán bitwise ANDC & = 2 giống C = C & 2
^ =Toán tử OR và gán độc quyền theo bitC ^ = 2 giống với C = C ^ 2
| =bao gồm bitwise OR và toán tử gánC | = 2 tương tự như C = C | 2

Các nhà khai thác khác

Có một số toán tử quan trọng khác bao gồm sizeof, typeof? : được hỗ trợ bởi C #.

Hiển thị các ví dụ

Nhà điều hànhSự mô tảThí dụ
sizeof ()Trả về kích thước của một kiểu dữ liệu.sizeof (int), trả về 4.
loại()Trả về kiểu của một lớp.typeof (StreamReader);
&Trả về địa chỉ của một biến.&một; trả về địa chỉ thực của biến.
*Con trỏ đến một biến.*một; tạo con trỏ có tên ‘a’ đến một biến.
? :Biểu thức điều kiệnNếu Điều kiện là đúng? Sau đó giá trị X: Ngược lại giá trị Y
Xác định xem một đối tượng có thuộc một kiểu nhất định hay không.If (Ford là Xe) // kiểm tra xem Ford có phải là một đối tượng của lớp Xe hay không.
nhưTruyền mà không nêu ra ngoại lệ nếu quá trình truyền không thành công.Object obj = new StringReader (“Xin chào”);

StringReader r = obj as StringReader;

Ưu tiên toán tử trong C #

Mức độ ưu tiên của toán tử xác định nhóm các thuật ngữ trong một biểu thức. Điều này ảnh hưởng đến việc đánh giá một biểu thức. Một số toán tử nhất định có quyền ưu tiên cao hơn những toán tử khác; ví dụ, toán tử nhân có mức độ ưu tiên cao hơn toán tử cộng.

Ví dụ x = 7 + 3 * 2; ở đây, x được gán 13, không phải 20 vì toán tử * có mức độ ưu tiên cao hơn +, vì vậy đánh giá đầu tiên diễn ra cho 3 * 2 và sau đó 7 được thêm vào đó.

Ở đây, các toán tử có mức độ ưu tiên cao nhất xuất hiện ở đầu bảng, những toán tử có mức độ ưu tiên thấp nhất xuất hiện ở cuối bảng. Trong một biểu thức, các toán tử có mức ưu tiên cao hơn được đánh giá đầu tiên.

Hiển thị các ví dụ

LoạiNhà điều hànhSự liên kết
Postfix() [] ->. ++ – –Trái sang phải
Một ngôi+ -! ~ ++ – – (type) * & sizeofPhải sang trái
Phép nhân* /%Trái sang phải
Phụ gia+ –Trái sang phải
Sự thay đổi<< >>Trái sang phải
Quan hệ<<=>> =Trái sang phải
Bình đẳng==! =Trái sang phải
Bitwise VÀ&Trái sang phải
Bitwise XOR^Trái sang phải
Bitwise HOẶC|Trái sang phải
Logic AND&&Trái sang phải
Logic HOẶC||Trái sang phải
Có điều kiện?:Phải sang trái
Phân công= + = – = * = / =% = >> = << = & = ^ = | =Phải sang trái
Dấu phẩy,Trái sang phải