C# Grundlegende Syntax
C# ist eine objektorientierte Programmiersprache. In der objektorientierten Programmierung besteht ein Programm aus verschiedenen interagierenden Objekten. Objekte derselben Art haben normalerweise denselben Typ oder, mit anderen Worten, gehören derselben Klasse an.
Nehmen wir zum Beispiel ein Rectangle-Objekt. Es hat die Eigenschaften length und width. Je nach Entwurf muss es möglicherweise diese Eigenschaftswerte annehmen, die Fläche berechnen und Details anzeigen.
Sehen wir uns eine Implementierung einer Rectangle-Klasse an und nutzen sie, um die grundlegende C#-Syntax zu besprechen:
Beispiel
namespace RectangleApplication
{
class Rectangle
{
// Membervariablen
double length;
double width;
public void Acceptdetails()
{
length = 4.5;
width = 3.5;
}
public double GetArea()
{
return length * width;
}
public void Display()
{
Console.WriteLine("Länge: {0}", length);
Console.WriteLine("Breite: {0}", width);
Console.WriteLine("Fläche: {0}", GetArea());
}
}
class ExecuteRectangle
{
static void Main(string[] args)
{
Rectangle r = new Rectangle();
r.Acceptdetails();
r.Anzeigen();
Console.ReadLine();
}
}
}
Selbst ausprobieren »
Wenn der obige Code kompiliert und ausgeführt wird, erzeugt er das folgende Ergebnis:
Length: 4.5 Width: 3.5 Area: 15.75
usingSchlüsselwörter
Die erste Anweisung in jedem C#-Programm ist:
using System;
usingDas Schlüsselwort wird verwendet, um einen Namespace in ein Programm einzubinden. Ein Programm kann mehrere using-Anweisungen enthalten.
classSchlüsselwörter
classDas Schlüsselwort wird verwendet, um eine Klasse zu deklarieren.
Kommentare in C#
Kommentare werden verwendet, um Code zu erklären. Der Compiler ignoriert Kommentareinträge. In C#-Programmen beginnen mehrzeilige Kommentare mit/*Beginnen mit dem Zeichen*/Beenden, wie unten gezeigt:
/* 这个程序演示 C# 的注释 使用 */
Einzeilige Kommentare verwenden//Symbol-Darstellung. Zum Beispiel:
// This line is a comment
Membervariable
Variablen sind Eigenschaften oder Datenmember einer Klasse und werden zum Speichern von Daten verwendet. Im obigen Programm hat die KlasseRectanglezwei Membervariablen namenslengthundwidth。
Memberfunktion
Eine Funktion ist eine Reihe von Anweisungen, die eine bestimmte Aufgabe ausführen. Memberfunktionen einer Klasse werden innerhalb der Klasse deklariert. Unsere Beispielklasse Rectangle enthält drei Memberfunktionen: AcceptDetails、GetAreaundDisplay。
Eine Klasse instanziieren
Im obigen Programm ist die KlasseExecuteRectangleeine, dieMain() Methoden und InstanziierungRectangle enthältDie Klasse der Klasse.
Bezeichner
Bezeichner werden verwendet, um Klassen, Variablen, Funktionen oder andere benutzerdefinierte Elemente zu identifizieren. In C# muss die Benennung die folgenden grundlegenden Regeln befolgen:
- Bezeichner müssen mit einem Buchstaben, Unterstrich oder@Mit einem Buchstaben beginnen, gefolgt von einer Reihe von Buchstaben, Ziffern (0 - 9), Unterstrichen (_) und @.
- Das erste Zeichen eines Bezeichners darf keine Ziffer sein.
- Bezeichner dürfen keine eingebetteten Leerzeichen oder Symbole wie ? - +! # % ^ & * ( ) [ ] { } . ; : " ' / \ enthalten.
- Bezeichner dürfen keine C#-Schlüsselwörter sein, es sei denn, sie haben das Präfix @. Zum Beispiel ist @if ein gültiger Bezeichner, aber if nicht, weil if ein Schlüsselwort ist.
- Bezeichner müssen case-sensitive sein. Groß- und Kleinbuchstaben gelten als unterschiedliche Buchstaben.
- Dürfen nicht mit den Namen der C#-Klassenbibliothek identisch sein.
C#-Schlüsselwörter
Schlüsselwörter sind vordefinierte reservierte Wörter für den C#-Compiler. Diese Schlüsselwörter können nicht als Bezeichner verwendet werden. Wenn Sie diese Schlüsselwörter jedoch als Bezeichner verwenden möchten, können Sie dem Schlüsselwort das Zeichen @ voranstellen.
In C# haben einige Schlüsselwörter im Kontext von Code eine besondere Bedeutung, wie z. B. get und set; diese werden kontextbezogene Schlüsselwörter genannt.
Die folgende Tabelle listet die reservierten Schlüsselwörter und kontextbezogenen Schlüsselwörter in C# auf:
| Reservierte Schlüsselwörter | ||||||
| abstract | as | Basis | bool | break | Byte | case |
| catch | char | checked | class | const | continue | decimal |
| default | delegate | do | double | else | enum | event |
| explicit | extern | false | finally | fixed | float | for |
| foreach | goto | if | implicit | in | in (generischer Modifizierer) | int |
| interface | internal | ist | lock | long | namespace | new |
| null | Objekt | operator | out | out (generic Modifizierer) | override | params |
| private | protected | public | readonly | ref | return | sbyte |
| sealed | short | sizeof | stackalloc | static | string | struct |
| switch | this | throw | wahr | try | typeof | uint |
| ulong | unchecked | unsafe | ushort | using | virtual | void |
| volatile | while | |||||
| Kontextbezogene Schlüsselwörter | ||||||
| hinzufügen | alias | ascending | descending | dynamic | from | get |
| global | group | into | join | let | orderby | partial (Typ) |
| partial (Methode) | entfernen | select | set | |||
Top-Level-Anweisungen
In C# 9.0 wurde das Konzept der Top-Level-Anweisungen eingeführt. Dies ist ein neues Programmierparadigma, das es Entwicklern ermöglicht, Anweisungen direkt auf der obersten Ebene einer Datei zu schreiben, ohne sie in Methoden oder Klassen einbetten zu müssen.
Funktionen:
-
Keine Klasse oder Methode erforderlich: Top-Level-Anweisungen ermöglichen es Ihnen, Code direkt auf der obersten Ebene einer Datei zu schreiben, ohne Klassen oder Methoden zu definieren.
-
Datei als Einstiegspunkt: Eine Datei mit Top-Level-Anweisungen wird als Einstiegspunkt des Programms behandelt, ähnlich wie beim bisherigen C#.
MainMethode. -
Automatisch
MainMethoden: Der Compiler generiert automatisch eineMainMethode, und verwendet Top-Level-Anweisungen alsMainRumpf der Methode. -
Unterstützt lokale Funktionen: Obwohl keine Klasse definiert werden muss, können in einer Datei mit Top-Level-Anweisungen weiterhin lokale Funktionen definiert werden.
-
Bessere Lesbarkeit: Für einfache Skripte oder Tools bieten Top-Level-Anweisungen eine bessere Lesbarkeit und Prägnanz.
-
Geeignet für kleine Projekte: Top-Level-Anweisungen eignen sich sehr gut für kleine Projekte oder Skripte und ermöglichen es Ihnen, Code schnell zu schreiben und auszuführen.
-
Kompatibel mit vorhandenem Code: Top-Level-Anweisungen können mit vorhandenen C#-Codebasen verwendet werden, ohne vorhandenen Code zu beeinträchtigen.
Traditioneller C#-Code- Bevor Sie Top-Level-Anweisungen verwendeten, mussten Sie ein C#-Programm wie folgt schreiben:
Beispiel
namespace MyApp
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello, World!");
}
}
}
C#-Code mit Top-Level-Anweisungen- Mit Top-Level-Anweisungen kann er wie folgt vereinfacht werden:
Beispiel
Console.WriteLine("Hello, World!");
Top-Level-Anweisungen unterstützen die gesamte gängige C#-Syntax, einschließlich der Deklaration von Variablen, der Definition von Methoden, der Behandlung von Ausnahmen usw.
Beispiel
using System.Linq;
// Variablendeklarationen in Top-Level-Anweisungen
int number = 42;
string message = "The answer to life, the universe, and everything is";
// Variable ausgeben
Console.WriteLine($"{message} {number}.");
// Methoden definieren und aufrufen
int Add(int a, int b) => a + b;
Console.WriteLine($"Summe von 1 und 2 ist {Add(1, 2)}.");
// LINQ verwenden
var numbers = new[] { 1, 2, 3, 4, 5 };
var evens = numbers.Where(n => n % 2 == 0).ToArray();
Console.WriteLine("Gerade Zahlen: " + string.Join(", ", evens));
// Ausnahmebehandlung
try
{
int zero = 0;
int result = number / zero;
}
catch (DivideByZeroException ex)
{
Console.WriteLine("Error: " + ex.Message);
}
Hinweise
- Dateieinschränkungen:Top-Level-Anweisungen können nur in einer Quelldatei verwendet werden. Wenn in einem Projekt mehrere Dateien Top-Level-Anweisungen verwenden, verursacht dies einen Kompilierungsfehler.
- Programmeinstieg:Wenn Top-Level-Anweisungen verwendet werden, enthält die Datei implizit eine Main-Methode, und die Datei wird zum Einstiegspunkt des Programms.
- Einschränkungen des Gültigkeitsbereichs:Code in Top-Level-Anweisungen teilt einen globalen Gültigkeitsbereich, was bedeutet, dass auf Variablen und Methoden, die in Top-Level-Anweisungen definiert sind, in der gesamten Datei zugegriffen werden kann.
Top-Level-Anweisungen bieten erhebliche Vorteile beim Vereinfachen der Codestruktur, beim Verringern der Lernschwierigkeit und beim Beschleunigen der Entwicklung und eignen sich besonders für das Schreiben einfacher Programme und Skripte.
Weitere Erweiterungen