Gibt es eine bessere Möglichkeit einen Counter in C# zu programmieren?
Ich soll einen Counter erstellen, der von einer selber eingegebenen Zahl herunterzählen soll. Der Code den ich dafür Erstellt habe sieht so aus:
```
int number = Convert.ToInt32(Console.ReadLine());
int O_number = number;
for (int i = 0; i <= number; i++)
{
Console.WriteLine(O_number);
O_number -= 1;
}
```
Kann man das ganze auch einfacher machen?
3 Antworten
Du brauchst die extra Variable nicht.
int number = Convert.ToInt32(Console.ReadLine());
while (number > 0)
{
Console.WriteLine(--number);
}
So könnte mans auch machen, allerdings möchte man die eingegebene Zahl Variable ventuell nicht decreasen
Ich kenne nur js, würde es aber so machen:
int number = Convert.ToInt32(Console.ReadLine());
for (int i = number; i >= 0; i—)
{
Console.WriteLine(i);
}
Ja, den Punkt von regex9, aber auch von dir verstehe ich. Beides sind valide Lösungen. Je nach genauer Aufgabenstellung oder Verlangen.
Allerdings als Ergänzung:
Ich rate davon ab Convert zu benutzen. Convert ist so aufgebaut, dass es konvertiert und alles, was fehlschlägt, raucht ab. Man kann natürlich ganz schrecklich ein Try Catch drum herum bauen, doch lässt sich dieses wunderbar mittels TryParse vermeiden. Ich rate deshalb auch dazu, TryParse zu verwenden:
https://learn.microsoft.com/de-de/dotnet/api/system.int32.tryparse?view=net-8.0
Bessere Möglichkeit in C# wäre, das richtige Paradigma zu nutzen. Klasse "Counter" schreiben, instanziieren und ein Methodenaufruf mit deiner Zahl als Parameter.
Einfacher als das, was bereits hier existiert, geht nicht - mit Lambdas wäre das ganze Fancy und unübersichtlich.