C# İşleçleri
C# bir ifadede gerçekleştirilecek işlemleri belirleyen semboller olan büyük bir işleçler kümesi sağlar.Tamsayı türlerinde işlemler: ==, !=, <, >, <=, >=, binary +, binary -, ^, &,|, ~, ++, -- ve sizeof() için genellikle numaralandırma sırasında izin verilir.Ayrıca bir çok işleç kullanıcı tarafından aşırı yüklenmiş olabilir, bu da kullanıcı tanımlı bir türe başvurulduğunda anlamının değişmesine neden olabilir.
Aşağıdaki tabloda, öncelik sırasına göre gruplandırılmış C# işleçleri listelenmektedir.Her grup içindeki işleçlerin eşit önceliği vardır.
İşleç kategorisi |
İşleçler |
---|---|
Birincil |
|
Birli |
|
Çoklu hale getirme |
|
Additive |
|
Üst karakter |
|
İlişkisel ve tür testi |
|
Eşitlik |
|
Mantıksal AND |
|
Mantıksal XOR |
|
Mantıksal OR |
|
Koşullu VE |
|
Koşullu VEYA |
|
Null birleşim |
|
Koşullu |
|
Atama ve lambda ifadesi |
Aritmetik Taşma
Aritmetik işleçler (+, –, *, /) ilgili sayısal tür için olası değerler aralığı dışında olan sonuçlar verebilir.Ayrıntılar için belirli bir işlecin bölümüne bakmalısınız, ancak gelen olarak:
Tamsayı aritmetik taşma bir OverflowException döndürür ya da sonucun en önemli bitlerini atar.Sıfır ile tamsayı bölme her zaman için bir DivideByZeroException atar.
Kayan nokta aritmetik taşma ya da sıfıra bölme hiçbir zaman bir özel durum oluşturmaz, çünkü kayan nokta türleri IEEE 754 temellidir ve bu yüzden sonsuzluk ve NaN (sayı değil) gösterme şartları vardır.
Ondalık aritmetik taşma her zaman OverflowException atar.Sıfır ile ondalık bölme her zaman DivideByZeroException atar.
Tamsayı taşması oluştuğunda, yürütme bağlamında ne olabilir, hangisi işaretlidir, hangisi işeritsizdir.Denetlenen bir bağlamda, bir OverflowException atılır.İşaretlenmemiş bir bağlamda, sonucun en önemli bitleri atılır ve yürütme devam eder.Böylece, C#, size işleme seçme veya taşmayı yoksayma seçeneğini sağlar.
Aritmetik işleçlere ek olarak, integral türünden integral türü atamaları taşmaya neden olabilir (örneğin, long - int ataması) ve işaretlenmesi ya da yürütme işaretinin kaldırılması gerekir.Ancak, bit düzey işleçler ve kaydırma işleçleri asla taşmaya neden olmaz.
Ayrıca bkz.
Başvuru
Fazla Yüklenebilir İşleçler (C# Programlama Kılavuzu)