Aracılığıyla paylaş


Bekleniyor Operators (C# Programlama Kılavuzu)

C# sağlayan kullanıcı tanımlı türler işleçler durağan üye fonksiyonları tanımlayarak aşırı işleç anahtar sözcüğü.Tüm işleçler, ancak, aşırı yüklenebilir ve diğerleri bu tabloda listelenen gibi kısıtlamaları vardır:

İşleçler

Overloadability

+, -, !, ~, ++, --, true, false

Bu tekli operatörler aşırı yüklenebilir.

+, -, *, /, %, &, |, ^, <<, >>

Bu ikili işleçler aşırı yüklenebilir.

==, !=, <, >, <=, >=

Karşılaştırma işleçleri aşırı yüklenebilir (ancak bu tabloyu izleyen nota bakın).

&&, ||

Koþullu Mantýksal iþleçler aşırı, ancak kullanarak değerlendirilir & ve |, hangi aşırı.

[]

Dizi dizin oluşturma operatörünü aşırı, ancak dizinleyiciler tanımlayabilirsiniz.

(t) x

Atama işlecinin aşırı, ancak yeni dönüştürme işleçleri tanımlayabilirsiniz (bkz: açık ve örtülü).

+=, -=, *=, /=, %=, &=, |=, ^=, <<=, >>=

Atama işleçleri aşırı yükleyemezsiniz, ancak +=, örneğin, kullanılarak hesaplandı +, kendisi aşırı.

=, ., ?:, ??, ->, =>, f(x), as, checked, unchecked, default, delegate, is, new, sizeof, typeof

Bu operatörler aşırı yüklenemez.

[!NOT]

Karşılaştırma işleçleri aşırı, çiftler halinde aşırı gerekir; diğer bir deyişle, == aşırı yüklüdür, != de aşırı.Tam tersi de doğru ve benzer < ve >ve <= ve >=.

Özel bir sınıf üzerinde bir iþleci aþýrý yüklediðinizde için doğru imzaya sahip sınıfındaki bir yöntem yaratmak gerekiyor.Yöntem "işleci x adını veya aşırı işleç simge burada x" olarak adlandırılmalıdır.Tekli operatörler bir parametreye sahip ve ikili işleçler iki parametre vardır.Her durumda, aşağıdaki örnekte gösterildiği gibi işleç bildirir yapı ya aynı türde bir parametresi olmalıdır:

public static Complex operator +(Complex c1, Complex c2)

Daha fazla bilgi için bkz. Nasıl yapılır: bir karmaşık sayı sınıf (C# Programlama Kılavuzu) oluşturmak için aşırı işlecini kullanın.

Ayrıca bkz.

Başvuru

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

Operators (C# Programlama Kılavuzu)

C# işleçleri

Kavramlar

C# Programlama Kılavuzu

Diğer Kaynaklar

Neden aþýrý yüklenmiþ Ýþleçler her zaman C# static?