Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
C#-Programme bestehen aus einer oder mehreren Dateien. Jede Datei enthält null oder mehr Namespaces. Ein Namespace enthält Typen wie Klassen, Strukturen, Schnittstellen, Enumerationen und Delegaten oder andere Namespaces. Das folgende Beispiel ist das Skelett eines C#-Programms, das alle diese Elemente enthält.
using System;
Console.WriteLine("Hello world!");
namespace YourNamespace
{
class YourClass
{
}
struct YourStruct
{
}
interface IYourInterface
{
}
delegate int YourDelegate();
enum YourEnum
{
}
namespace YourNestedNamespace
{
struct YourStruct
{
}
}
}
Das vorherige Beispiel verwendet Top-Level-Anweisungen als Einstiegspunkt des Programms. Nur eine Datei kann Anweisungen auf oberster Ebene enthalten. Der Einstiegspunkt des Programms ist die erste Zeile des Programmtexts in dieser Datei. In diesem Fall ist dies Console.WriteLine("Hello world!");
.
Sie können auch eine statische Methode namens Main
als Einstiegspunkt des Programms erstellen, wie im folgenden Beispiel gezeigt:
// A skeleton of a C# program
using System;
namespace YourNamespace
{
class YourClass
{
}
struct YourStruct
{
}
interface IYourInterface
{
}
delegate int YourDelegate();
enum YourEnum
{
}
namespace YourNestedNamespace
{
struct YourStruct
{
}
}
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello world!");
}
}
}
In diesem Fall beginnt das Programm in der ersten Zeile der Main
-Methode: Console.WriteLine("Hello world!");
.
Ausdrücke und Anweisungen
C#-Programme werden mithilfe von Ausdrücken und Anweisungen erstellt. Ausdrücke erzeugen einen Wert, und Anweisungen führen eine Aktion aus:
Ein Ausdruck ist eine Kombination aus Werten, Variablen, Operatoren und Methodenaufrufen, die zu einem einzelnen Wert ausgewertet werden. Ausdrücke erzeugen ein Ergebnis und können überall verwendet werden, wo ein Wert erwartet wird. Die folgenden Beispiele sind Ausdrücke:
-
42
(Literalwert) -
x + y
(arithmetische Operation) -
Math.Max(a, b)
(Methodenaufruf) -
condition ? trueValue : falseValue
(bedingter Ausdruck) -
new Person("John")
(Objekterstellung)
Eine Anweisung ist eine vollständige Anweisung, die eine Aktion ausführt. Anweisungen geben keine Werte zurück; Stattdessen steuern sie den Programmfluss, deklarieren Variablen oder führen Vorgänge aus. Die folgenden Beispiele sind Anweisungen:
-
int x = 42;
(Deklarationsanweisung) -
Console.WriteLine("Hello");
(Ausdrucksanweisung - umschließt einen Methodenaufrufausdruck) -
if (condition) { /* code */ }
(Bedingungsanweisung) -
return result;
(Return-Anweisung)
Der wichtigste Unterschied: Ausdrücke werden zu Werten ausgewertet, während Anweisungen Aktionen ausführen. Einige Konstrukte, z. B. Methodenaufrufe, können beides sein. Ist beispielsweise ein Ausdruck, Math.Max(a, b)
wenn er in int result = Math.Max(a, b);
verwendet wird, wird aber zu einer Ausdrucksanweisung, wenn sie allein geschrieben als Math.Max(a, b);
.
Ausführliche Informationen zu Anweisungen finden Sie unter "Anweisungen". Informationen zu Ausdruckskörpermitgliedern und anderen Ausdrucksfeatures finden Sie unter "Ausdruckskörper".For information about expression-bodied members, see Expression-bodied members.
Verwandte Abschnitte
Informationen zu diesen Programmelementen finden Sie im Abschnitt Typen im Leitfaden zu den Grundlagen:
C#-Sprachspezifikation
Weitere Informationen finden Sie unter Grundlegenden Konzepte in der C#-Sprachspezifikation. Die Sprachspezifikation ist die endgültige Quelle für C#-Syntax und -Verwendung.