C# Variable
Eine Variable ist nichts weiter als ein Name, der einem Speicherbereich gegeben wird, den das Programm manipulieren kann.
In C# ist eine Variable ein Bezeichner, der zum Speichern und Darstellen von Daten verwendet wird. Beim Deklarieren einer Variablen müssen Sie den Typ der Variablen angeben und können ihr optional einen Anfangswert zuweisen.
In C# hat jede Variable einen bestimmten Typ, der die Speichergröße und das Layout der Variablen bestimmt. Werte innerhalb dieses Bereichs können im Speicher abgelegt werden, und es können eine Reihe von Operationen auf der Variablen ausgeführt werden.
Wir haben bereits verschiedene Datentypen besprochen. Die in C# bereitgestellten grundlegenden Werttypen lassen sich grob in die folgenden Kategorien einteilen:
| Type | Beispiel |
|---|---|
| Ganzzahltypen | sbyte, byte, short, ushort, int, uint, long, ulong und char |
| Gleitkommatyp | float, double |
| Decimal-Typ | decimal |
| Boolescher Typ | true- oder false-Wert, der angegebene Wert |
| Leere Zeichenfolge | string |
| Leerer Typ | Nullable-Datentypen |
C# erlaubt das Definieren von Variablen anderer Werttypen wieenum, und auch das Definieren von Referenztyp-Variablen wieclass. Diese werden in späteren Kapiteln besprochen. In diesem Kapitel betrachten wir nur die grundlegenden Variablentypen.
C# 4.0 führte den dynamic-Typ ein, der es ermöglicht, den Typ einer Variablen zur Laufzeit abzuleiten. Dies ist in einigen Spezialfällen nützlich, aber normalerweise ist es besser, statische Typen zu verwenden, um bessere Leistung und Typprüfung zur Kompilierungszeit zu erzielen.
dynamic dynamicVariable = "This can be any type";
Variablendefinitionen in C#
Die Syntax für Variablendefinitionen in C#:
<data_type> <variable_list>;
Hier muss data_type ein gültiger C#-Datentyp sein, der char, int, float, double oder andere benutzerdefinierte Datentypen sein kann. variable_list kann aus einem oder mehreren durch Kommas getrennten Bezeichnernamen bestehen.
Einige gültige Variablendefinitionen sind unten aufgeführt:
int i, j, k; char c, ch; float f, salary; double d;
Sie können zum Zeitpunkt der Variablendefinition initialisieren:
int i = 100;
Benennungskonventionen für Variablen
In C# muss die Benennung von Variablen einigen Regeln folgen:
- Variablennamen können Buchstaben, Ziffern und Unterstriche enthalten.
- Variablennamen müssen mit einem Buchstaben oder einem Unterstrich beginnen.
- Bei Variablennamen wird zwischen Groß- und Kleinschreibung unterschieden.
- Vermeiden Sie die Verwendung von C#-Schlüsselwörtern als Variablennamen.
int myVariable = 10; string _userName = "John";
Variableninitialisierung in C#
Variablen werden initialisiert (zugewiesen), indem nach dem Gleichheitszeichen ein konstanter Ausdruck folgt. Die allgemeine Form der Initialisierung ist:
variable_name = value;
Variablen können zum Zeitpunkt der Deklaration initialisiert (mit einem Anfangswert versehen) werden. Die Initialisierung besteht aus einem Gleichheitszeichen, gefolgt von einem konstanten Ausdruck, wie unten gezeigt:
<data_type> <variable_name> = value;
Einige Beispiele:
int d = 3, f = 5; /* 初始化 d 和 f. */ byte z = 22; /* 初始化 z. */ double pi = 3.14159; /* 声明 pi 的近似值 */ char x = 'x'; /* 变量 x 的值为 'x' */
Variablen korrekt zu initialisieren ist eine gute Programmiergewohnheit; andernfalls kann das Programm manchmal unerwartete Ergebnisse liefern.
Betrachten Sie das folgende Beispiel, das Variablen verschiedener Typen verwendet:
Beispiel
namespace VariableDefinition
{
class Program
{
static void Main(string[] args)
{
short a;
int b ;
double c;
/* Tatsächliche Initialisierung */
a = 10;
b = 20;
c = a + b;
Console.WriteLine("a = {0}, b = {1}, c = {2}", a, b, c);
Console.ReadLine();
}
}
}
Wenn der obige Code kompiliert und ausgeführt wird, liefert er die folgenden Ergebnisse:
a = 10, b = 20, c = 30
Werte vom Benutzer akzeptieren
SystemIm NamespaceConsolestellt die Klasse eine FunktionReadLine() bereit, mit der Eingaben vom Benutzer empfangen und in einer Variable gespeichert werden.Zum Beispiel:
int num; num = Convert.ToInt32(Console.ReadLine());
FunktionConvert.ToInt32()konvertiert die Benutzereingabedaten in den Datentyp int, weilConsole.ReadLine()nur Daten im String-Format akzeptiert werden.
Lvalues und Rvalues in C#
Zwei Arten von Ausdrücken in C#:
lvalue: Ein lvalue-Ausdruck kann auf der linken oder rechten Seite einer Zuweisungsanweisung stehen.
rvalue: Ein rvalue-Ausdruck kann auf der rechten Seite einer Zuweisungsanweisung stehen, aber nicht auf der linken Seite.
Variablen sind lvalues, daher können sie auf der linken Seite einer Zuweisungsanweisung stehen. Numerische Werte sind rvalues, daher können ihnen keine Werte zugewiesen werden und sie können nicht auf der linken Seite einer Zuweisungsanweisung stehen. Das Folgende ist eine gültige Anweisung:
int g = 20;
Das Folgende ist eine ungültige Anweisung, die einen Fehler zur Kompilierungszeit erzeugt:
10 = 20;Weitere Erweiterungen