Udostępnij za pośrednictwem


Podmioty gospodarcze (Podręcznik programowania C#)

W języku C# operator jest elementem programu, który jest stosowany do jednego lub więcej operandy w wyrażeniu lub wyciągu.Podmioty gospodarcze, które mają jeden operand, takich jak operator przyrostu (++) lub new, są określane jako jednoargumentowe podmiotów gospodarczych.Podmioty gospodarcze, które mają dwa operandy, takie jak operatory arytmetyczne (+,-,*,/), są określane jako binarne podmiotów gospodarczych.Jeden operator, operator warunkowy (?:), ma trzy operandy i jest jedynym operator trójargumentowy w języku C#.

Poniższa instrukcja języka C# zawiera operator jednoargumentowy jednego i jeden operand.Operator przyrostu ++, modyfikuje wartość operandu y.

y++;

Poniższa instrukcja języka C# zawiera dwa operatory dwuargumentowe, każdy o dwa operandy.Operator przypisania =, zmienna typu Liczba całkowita ma y i wyrażenie 2 + 3 jako argumenty.Wyrażenie 2 + 3 sobie składa się z operatorem dodawania i dwa operandy 2 i 3.

y = 2 + 3;

Podmioty gospodarcze, oceny i pierwszeństwo operatorów

Argument może być prawidłowe wyrażenie o dowolnym rozmiarze i mogą się składać z dowolnej liczby innych wyrażeń.W wyrażeniu zawiera wiele operatorów, kolejność stosowania operatorów jest określana przez pierwszeństwo operatorów, łącznośći nawiasy.

Każdy operator ma zdefiniowane pierwszeństwo.W wyrażeniu zawiera wiele operatorów, którzy mają pierwszeństwo przed różnych poziomów pierwszeństwo operatorów określa kolejność oceniania podmiotów gospodarczych.Na przykład, następująca instrukcja przypisuje 3 do n1.

n1 = 11 - 2 * 4;

Mnożenie jest wykonywane jako pierwsze ponieważ mnożenie ma pierwszeństwo przed odejmowania.

Poniższa tabela oddziela podmiotów gospodarczych na kategorie, na podstawie typu operacji, którą wykonują.Kategorie są wymienione w kolejności.

Operatory podstawowe

Wyrażenie

Opis

x.y

Członek access

f(x)

Wywołanie metody i pełnomocnik

a[x]

Dostęp do tablicy i indeksowania

x++

Postinkrementacja

x--

POST-decrement

new T(...)

Tworzenie obiektu i pełnomocnik

newT(...){...}

Tworzenie obiektów z inicjatora.See Obiektów i kolekcji inicjatorów (Podręcznik programowania C#).

new {...}

Inicjator anonimowego obiektu.See Typy anonimowe (Podręcznik programowania C#).

newT[...]

Tworzenie tablicy.See Tablice (Podręcznik programowania C#).

typeof(T)

Uzyskać obiekt System.Type T

sprawdzone(x)

Ocena wyrażenia w kontekście zaznaczone

jej źródłem jest niesprawdzony(x)

Ocena wyrażenia w kontekście niezaznaczone

domyślne (T)

Uzyskać domyślną wartość typu t

Delegowanie {}

Anonimowy działał (metody anonimowej)

Operatory jednoargumentowe

Wyrażenie

Opis

+x

Tożsamość

-x

Negacja

!x

Negację logiczną

~x

Logiczną negacji

++x

Kszajä…

--x

Pre-decrement

(T)x

Jawnie przekonwertować x typu t

Operatory multiplikatywne

Wyrażenie

Opis

*

Mnożenie

/

Rejon

%

Reszta

Operatory addytywne

Wyrażenie

Opis

x + y

Ponadto, konkatenacji ciągów, kombinacja delegata

x - y

Odejmowanie, usuwania obiektu delegowanego

Operatory SHIFT

Wyrażenie

Opis

x << y

Przesuń w lewo

x >> y

Przesuń w prawo

Relacyjne i wpisz operatorów

Wyrażenie

Opis

x < y

Mniej niż

x > y

Większe niż

x <= y

Mniejsze lub równe

x >= y

Większe niż lub równe

x is T

Zwraca wartość true, jeśli x jest T, false w przeciwnym razie

x as T

Zwrot x wpisana jako t lub null, jeśli x nie jest t

Operatory równości

Wyrażenie

Opis

x == y

Równe

x != y

Nie równe

Operatory logiczne, warunkowych i Null

Kategoria

Wyrażenie

Opis

Logiczne I

x & y

Liczba całkowita logiczną I, logiczna i logicznych

Logiczne XOR.

x ^ y

Bitowe XOR Integer, boolean XOR logiczne

Logiczne OR

x | y

Liczba całkowita logiczną lub, boolean lub logicznych

Warunkowe I

x && y

Wynikiem y, tylko jeśli x jest PRAWDA

LUB warunkowe

x || y

Wynikiem y tylko wtedy, gdy x ma wartość false

Odbiorczego NULL

x ?? y

Wynikiem y, jeśli x jest null, aby x inaczej

Warunkowe

x ?: y : z

Wynikiem y, jeśli x nie jest spełniony, z Jeśli x jest FAŁSZ

Przypisanie i operatorów anonimowe

Wyrażenie

Opis

=

Przypisania

x op = y

Przydział złożony.Supports these operators: +=, -=, *=, /=, %=, &=, |=, !=, <<=, >>=

(T x) => y

Funkcja anonimowa (lambda wyrażenie)

Łączność

Gdy w wyrażeniu znajdują się dwa lub więcej operatorów, które mają ten sam priorytet, są oceniane, na podstawie łączność.Lewostronne operatory są oceniane w kolejności od lewej do prawej.Na przykład x * y / z jest oceniane jako (x * y) / z.Asocjacyjną prawo podmiotów gospodarczych są oceniane w kolejności od prawej do lewej.Na przykład operator przypisania jest prawo asocjacyjnej.Jeśli nie były, następujący kod spowoduje powstanie błędu.

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;

Operatory przypisania i operator trójargumentowy (?:) są prawo asocjacyjnej.Wszystkie operatory dwuargumentowe są pozostawiane asocjacyjnej.

Czy operatorów w wyrażeniu są pozostawiane asocjacyjnej lub prawo asocjacyjnych, operandy każdego wyrażenia są oceniane po pierwsze, od lewej do prawej.Poniższe przykłady ilustrują kolejność operatorów i operandów.

Instrukcja

Kolejność obliczeń

a = b

a, b =

a = b + c

a, b, c + =

a = b + c * d

, 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, -=, +=

Dodawanie nawiasy

Można zmienić kolejność nałożonych przez priorytet i łączność operatorów, używając nawiasów.Na przykład 2 + 3 * 2 zazwyczaj wynikiem 8, ponieważ operatory multiplikatywne mają pierwszeństwo przed operatory addytywne.Jednakże jeśli zapis wyrażenia jako (2 + 3) * 2, dodanie jest sprawdzane przed rozmnażanie, a wynikiem jest 10.Poniższe przykłady ilustrują kolejność obliczeń w wyrażeniach ujętego w nawiasy.Jak w poprzednich przykładach operandy są sprawdzane przed zastosowaniem operatora.

Instrukcja

Kolejność obliczeń

a = (b + c) * d

a, b, c + d, *, =

a = b - (c + d)

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

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

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

Przeciążanie operatora

Można zmienić zachowanie operatorów niestandardowych klas i strukturach.Ten proces jest określany jako przeciążanie operatora.Aby uzyskać więcej informacji, zobacz Oczekiwano operatorów (Podręcznik programowania C#).

Sekcje pokrewne

Aby uzyskać więcej informacji, zobacz Operator słowa kluczowe (C# odniesienia) i Operatory języka C#.

Zobacz też

Informacje

Instrukcje, wyrażenia i operatorów (Podręcznik programowania C#)

Koncepcje

Podręcznik programowania C#