Hospodářské subjekty C#
C# poskytuje velkou sadu operátorů, které jsou symboly, které určují, které operace provést ve výrazu.Operations on integral types such as ==, !=, <, >, <=, >=, binary +, binary -, ^, &,|, ~, ++, --, a sizeof() obecně jsou povoleny na výčty.Kromě toho může být mnoho subjektů přetížení uživatelem, tedy změna jejich význam při aplikování typ definovaný uživatelem.
V následující tabulce jsou uvedeny operátory C# seskupeny v pořadí podle priority.Operátory v rámci každé skupiny mají přednost.
Operátor |
Operátory |
---|---|
Primární |
|
Unární |
|
Multiplikativní |
|
Doplňkové látky |
|
Shift |
|
Relační a zkoušení typu |
|
Rovnosti |
|
Logické a |
|
Logické XOR |
|
Logické OR |
|
Podmíněné a |
|
Podmíněné nebo |
|
Potvrzeného Null |
|
Podmíněné |
|
Přiřazení a lambda výraz. |
Přetečení aritmetické operace
Aritmetické operátory (+, –, *, /) výsledky, které jsou mimo rozsah možných hodnot pro číselný typ zapojené.Naleznete v sekci konkrétní provozovatel podrobnosti, ale obecně:
Přetečení aritmetické celé buď vyvolá OverflowException nebo zruší nejvýznamnější bity výsledek.Celočíselné dělení nulovou vždy vyvolá DivideByZeroException.
Plovoucí aritmetického přetečení nebo dělení nulou nikdy vyvolá výjimku, protože typy s plovoucí desetinnou čárkou jsou založeny na standardu IEEE 754 a tak mají ustanovení představující nekonečno a NaN (není číslo).
Desetinné vždy vyvolá Přetečení aritmetické operace OverflowException.Desítkové dělení nulovou vždy vyvolá DivideByZeroException.
Co se stane, když dojde k přetečení, závisí na kontext spuštění, což může být zaškrtnuté nebo nezaškrtnuté.V kontrolovaném kontextu OverflowException je vyvolána.Nekontrolovaná kontextu nejvýznamnější bity výsledek se vypustí a pokračuje.Proto C# poskytuje možnost zpracování nebo ignorování přetečení.
Kromě aritmetické operátory přetypování integrál typu na integrál typu může způsobit přetečení, například obsazení dlouhé k inta provádění zaškrtnuté nebo nezaškrtnuté.Nicméně, bitové operátory a operátory posunutí nikdy způsobit přetečení.
Viz také
Referenční dokumentace
Přetěžovatelný operátory (Příručka programování C#)