Gibt es eine bessere Möglichkeit einen Counter in C# zu programmieren?

3 Antworten

Du brauchst die extra Variable nicht.

int number = Convert.ToInt32(Console.ReadLine());

while (number > 0)
{
  Console.WriteLine(--number);
}

WeissBrot965  28.04.2024, 20:09

So könnte mans auch machen, allerdings möchte man die eingegebene Zahl Variable ventuell nicht decreasen

Von Experte FaTech bestätigt

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);
}

Woher ich das weiß:Hobby – Programmiere seit 5 Jahren. Meiste Zeit nur mit javascript

FaTech  30.04.2024, 14:14

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.

Woher ich das weiß:Berufserfahrung – > 20 Jahre in der Softwareentwicklung