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:
- Aritmetik Operatörler
- Atama Operatörleri
- Karşılaştırma Operatörleri
- Mantıksal Operatörler
- Bit Düzeyinde (Bitwise) Operatörler
- Artırma ve Azaltma Operatörleri
- Koşullu (Ternary) Operatör
- Üçlü (Null Coalescing) Operatörler
- İlişkisel (typeof, sizeof, is, as) Operatörler
2. Aritmetik Operatörler
Matematiksel işlemler yapmak için kullanılır.
| Operatör | Açıklama | Örnek |
|---|---|---|
+ | Toplama | x + y |
- | Çıkarma | x - y |
* | Çarpma | x * y |
/ | Bölme | x / 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.3333C#3. Atama Operatörleri
Değişkenlere değer atamak için kullanılır.
| Operatör | Açıklama | Örnek |
|---|---|---|
= | Atama | x = 10 |
+= | Toplayıp atama | x += 5 (x = x + 5) |
-= | Çıkarıp atama | x -= 5 (x = x – 5) |
*= | Çarpıp atama | x *= 2 (x = x * 2) |
/= | Bölüp atama | x /= 2 (x = x / 2) |
%= | Mod alıp atama | x %= 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ör | Açı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); // trueC#5. Mantıksal Operatörler
Mantıksal işlemler yaparak true/false döndürür.
| Operatör | Açı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); // falseC#6. Bit Düzeyinde (Bitwise) Operatörler
İkili (binary) sistemde bit manipülasyonu yapar.
| Operatör | Açıklama | Örnek |
|---|---|---|
& | Bitwise AND | a & b |
| ` | ` | Bitwise OR |
^ | Bitwise XOR | a ^ b |
~ | Bitwise NOT | ~a |
<< | Bitwise Left Shift | a << 2 |
>> | Bitwise Right Shift | a >> 2 |
7. Artırma ve Azaltma Operatörleri
Değişkenin değerini bir artırır veya azaltır.
| Operatör | Açıklama | Örnek |
|---|---|---|
++x | Önce artır, sonra kullan | x = 5; y = ++x; (y = 6) |
x++ | Önce kullan, sonra artır | x = 5; y = x++; (y = 5, sonra x = 6) |
--x | Önce azalt, sonra kullan | x = 5; y = --x; (y = 4) |
x-- | Önce kullan, sonra azalt | x = 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 olursanulldöndürür.
Console.WriteLine(typeof(int)); // System.Int32
Console.WriteLine(sizeof(int)); // 4
object obj = "Hello";
Console.WriteLine(obj is string); // trueC#