C # - Operatörler

Operatör, derleyiciye belirli matematiksel veya mantıksal işlemleri gerçekleştirmesini söyleyen bir semboldür. C #, zengin yerleşik işleçlere sahiptir ve aşağıdaki işleç türlerini sağlar -

  • Aritmetik operatörler
  • İlişkisel Operatörler
  • Mantıksal operatörler
  • Bitsel Operatörler
  • Atama Operatörleri
  • Çeşitli Operatörler

Bu eğitim, aritmetik, ilişkisel, mantıksal, bitsel, atama ve diğer operatörleri tek tek açıklamaktadır.

Aritmetik operatörler

Aşağıdaki tablo C # tarafından desteklenen tüm aritmetik operatörleri göstermektedir. Değişken varsayA 10 ve değişken tutar B 20 tutar sonra -

Örnekleri Göster

Şebeke Açıklama Misal
+ İki işlenen ekler A + B = 30
- İlk işlenenden ikinci işleneni çıkarır A - B = -10
* Her iki işleneni de çarpar A * B = 200
/ Payı, numaratörden ayırıcıya böler B / A = 2
% Modül İşleci ve bir tamsayı bölmesinden sonra kalanı B% A = 0
++ Arttırma operatörü tamsayı değerini bir artırır A ++ = 11
- Azaltma operatörü tamsayı değerini bir azaltır A-- = 9

İlişkisel Operatörler

Aşağıdaki tablo C # tarafından desteklenen tüm ilişkisel operatörleri göstermektedir. Değişken varsayA 10 ve değişken tutar B 20 tutar, sonra -

Örnekleri Göster

Şebeke Açıklama Misal
== İki işlenenin değerlerinin eşit olup olmadığını kontrol eder, evet ise koşul doğru olur. (A == B) doğru değil.
! = İki işlenenin değerlerinin eşit olup olmadığını kontrol eder, değerler eşit değilse koşul doğru olur. (A! = B) doğrudur.
> Soldaki işlenenin değerinin sağ işlenenin değerinden büyük olup olmadığını kontrol eder, evet ise koşul doğru olur. (A> B) doğru değil.
< Soldaki işlenenin değerinin sağ işlenenin değerinden küçük olup olmadığını kontrol eder, evet ise koşul doğru olur. (A <B) doğrudur.
> = Sol işlenenin değerinin sağ işlenenin değerinden büyük veya ona eşit olup olmadığını kontrol eder, evet ise koşul doğru olur. (A> = B) doğru değil.
<= Sol işlenenin değerinin sağ işlenenin değerinden küçük veya ona eşit olup olmadığını kontrol eder, evet ise koşul doğru olur. (A <= B) doğrudur.

Mantıksal operatörler

Aşağıdaki tablo C # tarafından desteklenen tüm mantıksal işleçleri göstermektedir. Değişken varsayA Boolean değerini true ve değişken tutar B Boolean değerini yanlış tutar, sonra -

Örnekleri Göster

Şebeke Açıklama Misal
&& Mantıksal AND operatörü çağrıldı. Her iki işlenen de sıfır değilse, koşul doğru olur. (A && B) yanlıştır.
|| Mantıksal VEYA Operatörü çağrıldı. İki işlenenden herhangi biri sıfır değilse, koşul doğru olur. (A || B) doğrudur.
! Mantıksal NOT Operatörü olarak adlandırıldı. İşlenenin mantıksal durumunu tersine çevirmek için kullanın. Bir koşul doğruysa, Mantıksal NOT operatörü yanlış yapar. ! (A && B) doğrudur.

Bitsel Operatörler

Bitsel operatör bitler üzerinde çalışır ve bit işlem gerçekleştirir. &, | Ve ^ için doğruluk tabloları aşağıdaki gibidir -

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

A = 60 ise; ve B = 13; sonra ikili biçimde aşağıdaki gibidirler -

Bir = 0011 1100

B = 0000 1101

-------------------

A&B = 0000 1100

A | B = 0011 1101

A ^ B = 0011 0001

~ A = 1100 0011

C # tarafından desteklenen Bitsel operatörler aşağıdaki tabloda listelenmiştir. A değişkeninin 60 ve B değişkeninin 13 olduğunu varsayalım, o zaman -

Örnekleri Göster

Şebeke Açıklama Misal
& İkili AND İşleci, her iki işlenende de varsa sonuca bir bit kopyalar. (A & B) = 12, 0000 1100
| İkili VEYA İşleci, işlenenlerden herhangi birinde varsa bir bit kopyalar. (A | B) = 61, 0011 1101
^ İkili XOR Operatörü, bir işlenen içinde ayarlanmışsa, ancak her ikisinde birden değil ise biti kopyalar. (A ^ B) = 49, 0011 0001
~ İkili Birler Tamamlayıcı Operatörü tekli ve bitleri 'çevirme' etkisine sahiptir. (~ A) = -61, işaretli bir ikili sayı nedeniyle 2'nin tamamlayıcısında 1100 0011'dir.
<< İkili Sol Kaydırma Operatörü. Soldaki işlenenler değeri, sağ işlenen tarafından belirtilen bit sayısı kadar sola taşınır. A << 2 = 240, yani 1111 0000
>> İkili Sağ Shift Operatörü. Soldaki işlenenler değeri, sağ işlenen tarafından belirtilen bit sayısı kadar sağa taşınır. A >> 2 = 15, 0000 1111

Atama Operatörleri

C # tarafından desteklenen aşağıdaki atama operatörleri vardır -

Örnekleri Göster

Şebeke Açıklama Misal
= Basit atama operatörü, sağ taraftaki işlenenlerden sol taraftaki işlenenlere değerler atar C = A + B, A + B'nin değerini C'ye atar
+ = VE atama operatörü ekle, Sol operanda sağ operandı ekler ve sonucu sol operanda atar. C + = A, C = C + A'ya eşdeğerdir
- = Çıkar VE atama operatörü, Sağ operandı sol operanddan çıkarır ve sonucu sol operanda atar. C - = A, C = C - A'ya eşdeğerdir
* = AND atama operatörünü çarpın, sağ operandı sol operandla çarpar ve sonucu sol operanda atar C * = A, C = C * A'ya eşdeğerdir
/ = VE atama operatörünü bölme, sol operandı sağ operand ile böler ve sonucu sol operanda atar. C / = A, C = C / A'ya eşdeğerdir
% = Modül VE atama operatörü, iki işlenen kullanarak modülü alır ve sonucu sol operanda atar C% = A eşdeğerdir C = C% A
<< = Sol kaydırma VE atama operatörü C << = 2, C = C << 2 ile aynıdır
>> = Sağ kaydırma VE atama operatörü C >> = 2, C = C >> 2 ile aynıdır
& = Bitsel AND atama operatörü C & = 2, C = C & 2 ile aynıdır
^ = bit düzeyinde özel OR ve atama operatörü C ^ = 2, C = C ^ 2 ile aynıdır
| = bitsel kapsayıcı OR ve atama operatörü C | = 2, C = C | ile aynıdır | 2

Çeşitli Operatörler

Aşağıdakileri içeren birkaç önemli operatör vardır: sizeof, typeof ve ? : C # tarafından desteklenmektedir.

Örnekleri Göster

Şebeke Açıklama Misal
boyutu() Bir veri türünün boyutunu döndürür. sizeof (int), 4 değerini döndürür.
bir çeşit() Bir sınıfın türünü döndürür. typeof (StreamReader);
& Bir değişkenin adresini verir. & a; değişkenin gerçek adresini döndürür.
* Bir değişkene işaretçi. * a; bir değişkene 'a' adında bir işaretçi oluşturur.
? : Koşullu İfade Koşul doğruysa? Ardından X değeri: Aksi takdirde Y değeri
dır-dir Bir nesnenin belirli bir türde olup olmadığını belirler. If (Ford is Car) // Ford'un Car sınıfının bir nesnesi olup olmadığını kontrol eder.
gibi Atış başarısız olursa bir istisna oluşturmadan yayın yapın. Nesne obj = new StringReader ("Merhaba");

StringReader r = nesne olarak StringReader;

C # 'da Operatör Önceliği

Operatör önceliği, bir ifadedeki terimlerin gruplandırılmasını belirler. Bu, bir ifadenin değerlendirilmesini etkiler. Bazı operatörler diğerlerinden daha yüksek önceliğe sahiptir; örneğin, çarpma operatörü toplama operatöründen daha yüksek önceliğe sahiptir.

Örneğin x = 7 + 3 * 2; burada, x operatörü + 'dan daha yüksek önceliğe sahip olduğu için 20 değil, 13 olarak atanır, bu nedenle ilk değerlendirme 3 * 2 için yapılır ve sonra 7 eklenir.

Burada, en yüksek önceliğe sahip operatörler tablonun en üstünde, en düşük olanlar en altta görünür. Bir ifade içinde, önce yüksek öncelikli operatörler değerlendirilir.

Örnekleri Göster

Kategori Şebeke İlişkisellik
Postfix () [] ->. ++ - - Soldan sağa
Tekli + -! ~ ++ - - (tür) * & sizeof Sağdan sola
Çarpımsal * /% Soldan sağa
Katkı + - Soldan sağa
Vardiya << >> Soldan sağa
İlişkisel <<=>> = Soldan sağa
Eşitlik ==! = Soldan sağa
Bitsel AND & Soldan sağa
Bitsel ÖZELVEYA ^ Soldan sağa
Bit tabanlı VEYA | Soldan sağa
Mantıksal AND && Soldan sağa
Mantıksal VEYA || Soldan sağa
Koşullu ?: Sağdan sola
Görev = + = - = * = / =% = >> = << = & = ^ = | = Sağdan sola
Virgül , Soldan sağa