× Aktuálně z oboru

Programátoři po celém světě dnes slaví Den programátorů [ clanek/2018091300-programatori-po-celem-svete-dnes-slavi-den-programatoru/ ]
Celá zprávička [ clanek/2018091300-programatori-po-celem-svete-dnes-slavi-den-programatoru/ ]

C# - 7. lekce

[ http://programujte.com/profil/20356-mira/ ]Google [ ?rel=author ]       [ http://programujte.com/profil/118-zdenek-lehocky/ ]Google [ ?rel=author ]       17. 10. 2005       73 499×

Operátory..

C# má mnoho operátorů převzatých z C, C++ a Javy. Programátorům zřejmě většina bude známá a na ty méně známé narazíme jinde.

Zde je k nahlédnutí seznam standardních operátorů. Při psaní třídy je možné změnit chování operátorů (přetížení operátoru), ačkoliv bychom to měli dělat, jen když to má smysl. V tabulce je ukázáno, které z operátorů je možné přetížit.

kategorie: jméno: ukázka syntaxe: přetížitelný?:
základní seskupení (a+b) N
člen A.B N
ukazatel na člena struktury A->B N
volání metody f(x) N
následný inkrement c++ A
následný dekrement c-- A
volání konstruktoru c = new Coord(); N
alokace Array stack int* c = stackalloc int[10] N
velikost struktury sizeof (int) N
arithmetic check on (kontrola přeteční zapnuta) checked {byte c = (byte) d;} N
arithmetic check off (kontrola přeteční vypnuta) unchecked {byte c = (byte) d;} N
Unární kladná hodnota +10 A
záporná hodnota -10 A
negace !(c==d) A
bitový doplněk ~(int x) A
předcházející inkrement ++c A
předcházející dekrement --c A
přenos typu (myType)c N
hodnota adresy int* c = d; N
adresa hodnoty int* c = &d; N
typové operátory ověření kompatibility a is String N
vrací info o typu typeof (int) N
matematické násobení c*d A
dělení c/d a
modulo c%d A
sčítání c+d A
odčítání c-d A
posun bitu vpravo c>>3 A
posun bitu vlevo c<<3 A
relační a logické menší než c<d A
větší než c>d A
menší nebo rovno c<=d A
větší nebo rovno c>=d A
rovná se c==d A
nerovná se c!=d A
bitové and c&d A
bitové or c|d A
logické and (A) c&&d N
logické or (nebo) c||d N
zkrácená podmínka int c=(d<10) ? 5:15 N

Přetížení operátorů

Pro přetížení operátoru ve třídě definujeme metodu se stejným názvem jako je název operátoru:


public static bool operator == (Value a, Value b)
  {return a.Int == b.Int}

Pokud je operátor součástí logického páru, měly by být přetíženy oba. Takové páry jako jsou tyto:

== and != < and > <= and >=
Zdroj: http://www.softsteel.co.uk/tutorials/cSharp/lesson8.html

Článek stažen z webu Programujte.com [ http://programujte.com/clanek/1970010147-c-7-lekce/ ].