Sdílet prostřednictvím


Operátory jazyka C#

Jazyk C# poskytuje rozsáhlou sadu operátorů, které jsou symboly, které určují operace, které mohou provést ve výrazu.Operace interních typů, jako např. ==, !=, <, >, <=, >=, binary +, binary -, ^, &,|, ~, ++, -- a sizeof() jsou obecně povoleny na výčtech.Kromě toho může být mnoho operátorů přetíženo uživatelem, čímž se změní jejich význam při aplikování na uživatelem definovaný typ.

V následující tabulce jsou uvedeni operátoři jazyka C# v pořadí podle priority.Operátory v každé skupině mají stejnou přednost.

Kategorie operátorů

Operátory

Primární

x.y

f(x)

a[x]

x++

x--

nový

typeof

checked

nezaškrtnuté

výchozí (T)

delegovat

sizeof

->

Unární

+x

-x

!x

~x

++x

--x

(T)x

await

&x

*x

Násobicí

x * y

x / y

x % y

Aditivní

x + y

x - y

Shift

x << y

x >> y

Relační a typové zkoušky

x < y

x > y

x <= y

x >= y

je

jako

Rovnost

x == y

x != y

Logický operátor AND

x & y

Logický operátor XOR

x ^ y

Logický operátor OR

x | y

Podmíněné AND

x && y

Podmíněné OR

x || y

Sloučení Null

x ?? y

Podmíněné

?:

Přiřazení a výraz lambda

x = y

x += y

x -= y

x *= y

x /= y

x %= y

x &= y

x |= y

x ^= y

x <<= y

x >>= y

=>

Aritmetické přetečení

Aritmetické operátory (+, , *, /) mohou vést k výsledkům, které jsou mimo rozsah možných hodnot z uvedeného číselného typu.Podrobnosti najdete v části pro konkrétního operátora, ale obecně platí:

  • Aritmetické přetečení celého čísla buď vyvolá OverflowException nebo zruší nejvýznamnější části výsledku.Dělení celého čísla nulou vždy vyvolá DivideByZeroException.

  • Plovoucí aritmetické přetečení nebo dělení nulou nikdy nevyvolá výjimku, protože typy s plovoucí desetinnou čárkou jsou založeny na standardu IEEE 754 a tak mají opatření představující nekonečno a NaN (není číslo).

  • Desetinné aritmetické přetečení vždy vyvolá OverflowException.Dělení desetinného čísla nulou vždy vyvolá DivideByZeroException.

Pokud dojde k přetečení celého čísla, závisí to, co se stane, na kontextu spuštění, který může být zaškrtnutý nebo nezaškrtnutý.V kontrolovaném kontextu je vyvoláno OverflowException.V nekontrolovaném kontextu jsou nejvýznamnější části výsledku ignorovány a provádění bude pokračovat.Proto jazyk C# umožňuje volbu zpracování nebo ignorování přetečení.

Kromě aritmetických operátorů, přetypování integrálového typu na integrálový typ může způsobit přetečení, například přetypování typu long na int a řídí se kontrolovaným a nekontrolovaným prováděním.Nicméně bitové operátory a operátory posunutí nikdy nezpůsobí přetečení.

Viz také

Referenční dokumentace

Přetížitelné operátory (Průvodce programováním v C#)

Klíčová slova jazyka C#

Koncepty

Průvodce programováním v C#

Další zdroje

Referenční dokumentace jazyka C#

Visual C#