Freigeben über


Operatoren (Visual C# Express)

Aktualisiert: November 2007

Die Syntax der Operatoren in C# ähnelt derjenigen der anderen Programmiersprachen der C-Familie. Operatoren werden verwendet, um Berechnungen auszuführen, Variablen Werte zuzuweisen, auf Gleichheit oder Ungleichheit zu prüfen und sonstige Operationen durchzuführen.

Die folgenden Abschnitte enthalten einige der in C# am häufigsten verwendeten Operatoren. Die vollständige Liste aller Operatoren finden Sie unter C#-Operatoren.

Zuweisungs- und Gleichheitsoperatoren

In C# hat der Gleichheitszeichenoperator (=) dieselbe Funktionalität wie in C and C++:

Operator

Zweck

=

Weist einen Wert zu.

==

Prüft auf Gleichheit.

Beispiel

int x = 100;
if (x == 100)
{
    System.Console.WriteLine("X is equal to 100");
}

Mathematische und logische Operatoren

Nachfolgend eine Liste der grundlegenden mathematischen Operatoren, aufgelistet nach ihrer Rangfolge. Verwenden Sie Klammern, um eine andere Reihenfolge zu erzwingen.

Operator

Zweck

*, /, %

Multiplikation, Division, Modulo

+, -

Addition, Subtraktion

&

Logisches AND

^

Logisches XOR

|

Logisches OR

Beispiel

int x = 1;
int y = x + 10 * 100;      // multiplication first y = 1001
int z = (x + 10) * 100;    // addition first       z = 1100

Inkrement- und Dekrementoperatoren

C/C++-Formatverknüpfungen werden unterstützt, einschließlich Postfix- und Präfixoperatoren, wie in folgenden Beispielen dargestellt:

Operator

Zweck

v++

Inkrementieren der Variablen v um 1.

v+=n

Inkrementieren der Variablen v um n.

v*=n

Multiplizieren der Variablen v mit n.

v-=n

n von der Variablen v subtrahieren.

Beispiel

int x = 0;

int y = x++;    // x is 1, y is 0

System.Console.WriteLine("{0} {1}", x, y);

int z = ++x;    // x is 2, z is 2

System.Console.WriteLine("{0} {1}", x, z);

Relationale Operatoren.

Die folgenden Operatoren vergleichen zwei Werte und geben ein boolesches Ergebnis zurück:

Operator

Zweck

==

Prüfungen auf Gleichheit.

!=

Prüfungen auf Ungleichheit.

>

Größer als

<

Kleiner als

>=

Größer oder gleich

<=

Kleiner oder gleich

Beispiel

int x = int.Parse(System.Console.ReadLine());

if (x > 100)
{
    System.Console.WriteLine("X is greater than 100");
}

Logische Bedingungsoperatoren

Die logischen Operatoren werden verwendet, um durch das Kombinieren von mehreren Klauseln flexiblere Bedingungsanweisungen zu erstellen:

Operator

Zweck

&&

Bedingtes UND.

||

Bedingtes ODER.

!

Bedingtes NICHT.

Beispiel

int x = int.Parse(System.Console.ReadLine());

if ((x >= 100) && (x <= 200))
{
    System.Console.WriteLine("X is between 100 and 200");
}

Höhere mathematische Operatoren

Für höhere mathematische Operationen wie Trigonometrie verwenden Sie die Frameworks-Klasse Math. Im folgenden Beispiel werden die Sin-Methode (Sinus) und die Sqrt-Methode (Quadratwurzel) sowie die Konstante PI verwendet:

Beispiel

double d = System.Math.Sin(System.Math.PI/2);
double e = System.Math.Sqrt(144);

Überladen von Operatoren

C# unterstützt das Überladen von Operatoren. Dadurch können Sie Operatoren neu definieren, sodass sie sich für eigene Datentypen besser eignen. Im folgenden Beispiel wird eine Struktur erstellt, die einen einzelnen Wochentag in einem durch eine Enumeration definierten Variablentyp speichert. Weitere Informationen finden Sie unter Strukturen (Visual C# Express) und unter Enumerationen (Visual C# Express). Der Additionsoperator wurde überladen, um zu ermöglichen, dass eine ganzzahlige Anzahl von Tagen zum aktuellen Tag hinzugefügt wird und einen neuen Wochentag als Ergebnis liefert. Wenn also ein Tag zu Sonntag addiert wird, wird Montag zurückgegeben.

Beispiel

using System;

// Define an DayOfWeek data type
enum DayOfWeek { Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday };

// Define a struct to store the methods and operators
struct Day 
{
    private DayOfWeek day;

    // The constructor for the struct
    public Day(DayOfWeek initialDay)
    {
        day = initialDay;
    }

    // The overloaded + operator
    public static Day operator +(Day lhs, int rhs)
    {
        int intDay = (int)lhs.day;
        return new Day((DayOfWeek)((intDay + rhs) % 7));
    }

    // An overloaded ToString method
    public override string ToString()
    {
        return day.ToString();
    }
}

public class Program
{
    static void Main()
    {
        // Create a new Days object called "today"
        Day today = new Day(DayOfWeek.Sunday);
        Console.WriteLine(today.ToString());

        today = today + 1;
        Console.WriteLine(today.ToString());

        today = today + 14;
        Console.WriteLine(today.ToString());
    }
}

Siehe auch

Konzepte

Einführung in C#

Referenz

C#-Operatoren