Operatörler ve İfadeler

C# programlama dilinde operatörler, değişkenler veya değerler üzerinde işlemler gerçekleştiren özel sembollerdir. Bir veya birden fazla operatör bir araya gelerek ifadeleri (expressions) oluşturur.

1. Operatör Türleri

C#’ta operatörler işlevlerine göre aşağıdaki kategorilere ayrılır:

  1. Aritmetik Operatörler
  2. Atama Operatörleri
  3. Karşılaştırma Operatörleri
  4. Mantıksal Operatörler
  5. Bit Düzeyinde (Bitwise) Operatörler
  6. Artırma ve Azaltma Operatörleri
  7. Koşullu (Ternary) Operatör
  8. Üçlü (Null Coalescing) Operatörler
  9. İlişkisel (typeof, sizeof, is, as) Operatörler

2. Aritmetik Operatörler

Matematiksel işlemler yapmak için kullanılır.

OperatörAçıklamaÖrnek
+Toplamax + y
-Çıkarmax - y
*Çarpmax * y
/Bölmex / y
%Mod (Kalan)x % y
int a = 10, b = 3;
Console.WriteLine(a + b);  // 13
Console.WriteLine(a - b);  // 7
Console.WriteLine(a * b);  // 30
Console.WriteLine(a / b);  // 3 (Tam sayı bölme)
Console.WriteLine(a % b);  // 1 (10'un 3'e bölümünden kalan)
C#

Not: a / b işlemi tam sayı bölme olduğu için sonuç 3 olur. Ondalıklı bölme için double veya float kullanılmalıdır.

double sonuc = (double)a / b; // Sonuç: 3.3333
C#

3. Atama Operatörleri

Değişkenlere değer atamak için kullanılır.

OperatörAçıklamaÖrnek
=Atamax = 10
+=Toplayıp atamax += 5 (x = x + 5)
-=Çıkarıp atamax -= 5 (x = x – 5)
*=Çarpıp atamax *= 2 (x = x * 2)
/=Bölüp atamax /= 2 (x = x / 2)
%=Mod alıp atamax %= 3 (x = x % 3)
int x = 10;
x += 5;  // x = 15
x *= 2;  // x = 30
Console.WriteLine(x);
C#

4. Karşılaştırma Operatörleri

İki değeri karşılaştırarak boolean (true/false) sonuç döndürür.

OperatörAçıklamaÖrnek
==Eşit mi?x == y
!=Eşit değil mi?x != y
>Büyük mü?x > y
<Küçük mü?x < y
>=Büyük veya eşit mi?x >= y
<=Küçük veya eşit mi?x <= y
int a = 10, b = 20;
Console.WriteLine(a > b);   // false
Console.WriteLine(a <= b);  // true
Console.WriteLine(a != b);  // true
C#

5. Mantıksal Operatörler

Mantıksal işlemler yaparak true/false döndürür.

OperatörAçıklamaÖrnek
&&VE (AND)(x > 5 && y < 10)
``
!DEĞİL (NOT)!(x > 5)
bool sonuc1 = (10 > 5) && (20 > 15);  // true
bool sonuc2 = (10 > 5) || (20 < 15);  // true
bool sonuc3 = !(10 > 5);              // false
C#

6. Bit Düzeyinde (Bitwise) Operatörler

İkili (binary) sistemde bit manipülasyonu yapar.

OperatörAçıklamaÖrnek
&Bitwise ANDa & b
``Bitwise OR
^Bitwise XORa ^ b
~Bitwise NOT~a
<<Bitwise Left Shifta << 2
>>Bitwise Right Shifta >> 2

7. Artırma ve Azaltma Operatörleri

Değişkenin değerini bir artırır veya azaltır.

OperatörAçıklamaÖrnek
++xÖnce artır, sonra kullanx = 5; y = ++x; (y = 6)
x++Önce kullan, sonra artırx = 5; y = x++; (y = 5, sonra x = 6)
--xÖnce azalt, sonra kullanx = 5; y = --x; (y = 4)
x--Önce kullan, sonra azaltx = 5; y = x--; (y = 5, sonra x = 4)

8. Koşullu (Ternary) Operatör

Tek satırda if-else kullanımı sağlar.

koşul ? doğru_durum : yanlış_durum;
C#
int yas = 20;
string sonuc = (yas >= 18) ? "Reşit" : "Reşit Değil";
Console.WriteLine(sonuc);  // "Reşit"
C#

9. Null Coalescing Operatörleri

?? Operatörü

Eğer bir değişken null ise, varsayılan bir değer döndürür.

string isim = null;
Console.WriteLine(isim ?? "Varsayılan İsim");  // "Varsayılan İsim"
C#

??= Operatörü

Bir değişken null ise, ona varsayılan bir değer atar.

string mesaj = null;
mesaj ??= "Merhaba, dünya!";
Console.WriteLine(mesaj);  // "Merhaba, dünya!"
C#

10. typeof, sizeof, is, as Operatörleri

  • typeof(T) → Bir türün tip bilgisini alır.
  • sizeof(T) → Bir veri tipinin bellek boyutunu döndürür.
  • is → Bir nesnenin belirli bir türe ait olup olmadığını kontrol eder.
  • as → Tip dönüşümü yapar, hata olursa null döndürür.
Console.WriteLine(typeof(int));  // System.Int32
Console.WriteLine(sizeof(int));  // 4
object obj = "Hello";
Console.WriteLine(obj is string);  // true
C#