Aracılığıyla paylaş


Operators (C# Programlama Kılavuzu)

C# [NULL]'taki bir işleç uygulanan bir program öğesi için bir veya daha fazla olan işlenen bir deyim veya deyimi.Artýrma iþlecinin gibi tek bir işlenen alır operators (++) veya new, olarak başvuruda tekli operators.Gibi aritmetik işleçler, iki işlenen alır işleçleri (+,-,*,/), olarak adlandırılan programı ikili operators.Bir işleç, Koşul operatörü (?:), üç işlenen alır ve C# [NULL]'taki kararına üçleme işleci.

Tek işlem işleci ve tek bir işlenen aşağıdaki C# deyimi içerir.Artýrma iþlecinin ++, işlenen değerini değiştirir y.

y++;

Her iki işlenen iki ikili işleçler aşağıdaki C# deyimi içerir.Atama işleci =, tamsayı değişken y ve ifade 2 + 3 olarak işlenen.İfade 2 + 3 kendini toplama işlecini ve iki işlenen oluşan 2 ve 3.

y = 2 + 3;

İşleçler, değerlendirme ve işleç önceliği

İşlenen geçerli bir ifade herhangi bir boyutta olabilir ve diğer ifadeler herhangi bir sayıda oluşabilir.Birden çok işleç içeren bir deyim işleçleri uygulanma sırası tarafından belirlenen işleç önceliği, birleşimve parantez.

Her işleç tanımlanmış bir önceliğe sahiptir.Farklı öncelik düzeyleri olan birden çok işleç içeren bir ifade, işleçlerin önceliklerini işleçler değerlendirilme sırasını belirler.Örneğin, aşağıdaki deyim 3 atar n1.

n1 = 11 - 2 * 4;

Çarpma, çarpma çıkartma öncelikli olduğundan önce yürütülür.

Aşağıdaki tabloda işleçleri gerçekleştirdikleri işlem türüne göre kategorilere ayırır.Kategoriler, öncelik sırasına göre listelenir.

Birincil operatörler

İfade

Description

x.y

Üye erişim

f(x)

Yöntem ve temsilci çağırma

a[x]

Dizi ve dizinleyici erişimini

x++

POST-increment

x--

POST-decrement

new T(...)

Nesne ve temsilci oluşturma

newT(...){...}

Başlatıcı ile nesne oluşturma.Bkz: Nesne ve koleksiyon Başlatıcı (C# Programlama Kılavuzu)

new {...}

Adsız nesne Başlatıcısı durduruluyor.Bkz: Anonim türleri (C# Programlama Kılavuzu)

newT[...]

Dizi oluşturma.Bkz: Diziler (C# Programlama Kılavuzu)

typeof(t)

System.Type nesnesine almak için t

işaretli(x)

Checked bağlamında ifade değerlendirilemiyor

denetlenmeyen(x)

Denetlenmeyen bağlamında ifade değerlendirilemiyor

Varsayılan (t)

t türü varsayılan değeri elde edilir.

Temsilci {}

Anonymous (adsız yöntem) çalışması

Tekli operatörler

İfade

Description

+x

Kimlik

-x

Negatiflik

!x

Mantıksal Negatiflik

~x

Bitsel Negatiflik

++x

Pre-increment

--x

Pre-decrement

(T)x

Açıkça dönüştürme türü t x

Çarpma operatörleri

İfade

Description

*

Çarpma

/

Bölme

%

Kalan tutar

Toplama operatörleri

İfade

Description

x + y

Buna ek olarak, dize bitiştirme, temsilci birleşimi

x - y

Çıkarma, temsilci kaldırma

Kaydırma operatörleri

İfade

Description

x << y

Sol Shift

x >> y

Sağa Ötele

İlişkisel işleçleri yazın

İfade

Description

x < y

Küçüktür

x > y

Büyüktür

x <= y

Küçüktür veya eşittir

x >= y

Büyüktür veya eşittir

x is T

X bir t, false Aksi takdirde ise true döndürür

x as T

Dönüş x x t değilse t ya da null yazılan

Eşitlik operatörleri

İfade

Description

x == y

Eşittir

x != y

Eşit değildir

Mantıksal, koşullu ve Null işleçleri

Kategori

İfade

Description

Mantıksal and

x & y

Tamsayı Bitsel ve Boolean mantıksal and

Mantıksal xor

x ^ y

Tamsayı Bitsel xor, boolean mantıksal xor

Mantıksal or

x | y

Tamsayı Bitsel veya boolean mantıksal or

Koşullu ve

x && y

Yalnızca x doğruysa y değerlendirir.

Koşullu veya

x || y

Y x yanlış olması durumunda değerlendirir

NULL coalescing

x ?? y

X aksi x null ise y değerlendirir.

Koşullu

x ?: y : z

Y x doğruysa değerlendirir x yanlışsa, z

Atama ve anonim işleçleri

İfade

Description

=

Atama

op x = y

Bileşik atama.Supports these operators: +=, -=, *=, /=, %=, &=, |=, !=, <<=, >>=

(t x) => y

Anonim işlev (lambda ifade)

Birleşim özellikleri

Aynı önceliğe sahip iki veya daha çok işleç bir deyim varsa, üzerinde birleşim göre değerlendirilir.Sırada soldan sağa sola ilişkilendirilebilir operatörler değerlendirilir.Örneğin, x * y / z olarak değerlendirilen (x * y) / z.Sağa ilişkilendirilebilir operatörler, sağdan sola doğru sırayla değerlendirilir.Örneğin, atama işleci sağa ilişkilendirilebilir.Olmadıysa, aşağıdaki kod bir hata neden olur.

int a, b, c;
c = 1;
// The following two lines are equivalent.
a = b = c;
a = (b = c);

// The following line, which forces left associativity, causes an error.
//(a = b) = c;

Atama operatörleri ve Üçlü operatör (?:) olan sağa ilişkilendirilebilir.Diğer ikili işleçler ilişkilendirilebilir bırakılır.

Bir deyim işleçleri ilişkilendirilebilir ya da sağa ilişkilendirilebilir sol olsun, işlenen her deyimin ilk olarak, soldan sağa değerlendirilir.Aşağıdaki örnekler, işleçler ve işleçler değerlendirilme sırasını göstermektedir.

Deyimi

Değerlendirme sırası

a = b

a, b =

a = b + c

a, b, c + =

a = b + c * d

a, b, c, d *, +, =

a = b * c + d

a, b, c *, d + =

a = b - c + d

a, b, c-, d + =

a += b -= c

a, b, c, -=, +=

Ayraç ekleme

Operatör önceliği ve ilişkilendirilebilirlik tarafından ayraçlar kullanılarak uygulanan sırasını değiştirebilirsiniz.Örneğin, 2 + 3 * 2 8'e Çarpma operatörleri Toplama operatörleri öncelik kazanır çünkü normalde değerlendirir.Ancak, ifade olarak yazarsanız (2 + 3) * 2, toplama, çarpma önce değerlendirilir ve sonuç 10'dur.Parenthesized ifadelerde değerlendirme sırasını aşağıdaki örneklerde gösterilmektedir.Önceki örneklerde olduğu gibi işlenen operatör uygulanmadan önce değerlendirilir.

Deyimi

Değerlendirme sırası

a = (b + c) * d

a, b, c + d *, =

a = b - (c + d)

a, b, c, d +, -, =

a = (b + c) * (d - e)

a, b, c, +, d, e, -, *, =

Private int value

Özel sınıflar ve yapılar için işleçler davranışını değiştirebilirsiniz.Bu işlem için olarak adlandırılır aþýrý yüklemesi.Daha fazla bilgi için bkz. Bekleniyor Operators (C# Programlama Kılavuzu).

İlgili Bölümler

Daha fazla bilgi için, bkz. Operator anahtar sözcükler (C# Reference) ve C# işleçleri.

Ayrıca bkz.

Başvuru

İfadeleri, ifadeler ve işleçler (C# Programlama Kılavuzu)

Kavramlar

C# Programlama Kılavuzu