Von VBA zu C#: Schleifen

Lies in den Artikel rein und unten bekommst Du ein unschlagbares Angebot!

Schleifen spielen bei der Programmierung eine wichtige Rolle. Unter VBA gibt es die For…Next- und die For…Each-Schleife sowie die verschiedenen Varianten der Do…-Schleife. In diesem Artikel schauen wir uns an, wie Sie diese Schleifentypen unter C# abbilden und welche Besonderheiten dabei auftreten.

Beispiele

Wenn Sie die Beispiele dieses Artikels ausprobieren möchten, erstellen Sie eine C#-Konsolenanwendung und fügen die Anweisungen in die Prozedur static void main() ein. Betätigen Sie dann die Taste F5, um die Methode zu starten.

For…Next-Schleife

Die For…Next-Schleife aus VBA sieht so aus:

For i = 1 To 10
     Debug.Print "Aktuelle Zahl: " & i
Next i

Unter C# sieht dies etwas anders aus, lässt sich aber identisch abbilden:

for (int i = 1; i <= 10; i++)
{
     Console.WriteLine("Aktuelle Zahl: {0}", i);
}

Der wichtigste Teil ist hier die erste Zeile – die innerhalb der Schleife ausgeführten Anweisungen packen Sie, wie von C# gewohnt, einfach in geschweifte Klammern. Die erste Zeile enthält das Schlüsselwort for sowie in Klammern drei Parameter:

  • Der erste deklariert die Laufvariable, hier i, und den Startwert der Variablen.
  • Der zweite legt die Abbruchbedingung fest. In diesem Fall soll die Schleife solange laufen, wie i einen Wert kleiner oder gleich 10 aufweist. Die Abbruchbedingung muss immer einen Boolean-Wert als Ergebnis liefern.
  • Schließlich folgt der dritte Parameter, der die Änderung der Laufvariablen festlegt. In diesem Fall sorgt i++ dafür, dass i mit jedem Durchlauf um den Wert 1 erhöht wird.

Das Ergebnis dieser Schleife sieht so aus:

Aktuelle Zahl: 1
Aktuelle Zahl: 2
Aktuelle Zahl: 3
...
Aktuelle Zahl: 10

Deklaration der Laufvariablen

Nun haben wir die Laufvariable direkt im ersten Parameter der Schleife deklariert und instanziert:

int i = 1

Dadurch legen wir gleichzeitig den Gültigkeitsbereich der Variablen auf die Schleife selbst fest. Nach dem Beenden der Schleife können Sie nicht mehr auf die Variable zugreifen.

Das ist aber kein Problem, denn für Fälle, in denen Sie den Inhalt der Variablen später noch benötigen, deklarieren Sie die Laufvariable einfach vor Beginn der Schleife. Dies sieht dann wie folgt aus:

int i;
for (i = 1; i <= 10; i++)
{
     Console.WriteLine("Aktuelle Zahl: {0}", i);
}
Console.WriteLine("Wert von i: {0}", i);

Die abschließende Anweisung gibt nun den Wert der Zählervariablen nach dem letzten Durchlaufen der Schleife aus:

Aktuelle Zahl: 1
Aktuelle Zahl: 2
Aktuelle Zahl: 3
...
Aktuelle Zahl: 10
Wert von i: 11

Hätten Sie im ersten Beispiel auf die gleiche Art auf die Laufvariable zugegriffen, hätte dies einen Syntaxfehler hervorgerufen.

Ob Sie die Zählervariablen nun jeweils vor dem Start der Schleife oder erst in der for…-Anweisung deklarieren, hängt von der geplanten Nutzung dieser Variable ab – soll diese vor dem Start der Schleife oder im Anschluss gefüllt oder ausgelesen werden, müssen Sie die Deklaration natürlich vor dem ersten Zugriff programmieren. Anderenfalls haben Sie die freie Wahl.

Herunterzählen

 

Schreibe einen Kommentar