C# erfordert, dass alle Variablen auf einen Wert initialisiert werden, bevor Sie sie lesen.
Der Codeblock:
int i;
if(i == 0)
{
// something...
}
Wird ein Fehler bei der Kompilierung erzeugen, weil Sie den Wert i
, bevor die Zuweisung darauf zuzugreifen versuchen. Dies gilt auch für Objekte (obwohl Sie sie zunächst auf null
initialisieren können).
Wenn Sie wissen möchten, ob Sie von Ihrer ursprünglichen Zuweisung geändert haben, dann nein, es gibt keine Möglichkeit, dies direkt zu sagen, es sei denn, die anfängliche Zuweisung ist auf einen Sentinel-Wert, der bei einer nachfolgenden Zuweisung nicht wiederholt wird. Wenn dies nicht der Fall ist, benötigen Sie eine zusätzliche bool
zu verfolgen.
Sie erhalten widersprüchliche Antworten, weil Ihre Frage nicht eindeutig ist: "initialisiert" kann verschiedene Dinge bedeuten, je nachdem, welches Problem Sie lösen möchten. – egrunin
Ebenso kann das Wort "Variable" verschiedene Dinge bedeuten.Sprechen Sie über ein Feld für die Klasse, eine Eigenschaft oder eine lokale Variable innerhalb einer Methode? – StriplingWarrior