Hallo,
Ich bin noch ein C# Anfänger.
Vlt. kann mir ja jemand bei folgendem Problem helfen:
Ich möchte durch ein Zahlenarray durchloopen und herausfinden, ob der erste Wert (hier 5) kleiner oder gleich der nachfolgenden Werte ist. Dies stellt mit der foreach-Schleife kein Problem dar.
Ich möchte aber, dass die Schleife eine Ausnahme(hier 1) akzeptiert, sodass die Schleife bei meinem Beispiel nicht bei der 1 stoppt, sondern erst bei der 3.
Der Counter soll also nicht 3 sondern 6 ergeben.
Vielen Dank im Voraus!
int[] myArr = new int[] { 5, 7, 8, 1, 10, 9 , 3 };
int Counter = 0;
foreach (int element in myArr)
{
if (myArr[0] <= element)
Counter++;
else break;
}
Hallo wokie,
ich weiß zwar nicht, was du mit deiner Lösung erreichen willst, aber was spricht dagegen, das Array aufsteigend zu sortieren?
Einfach mit
Array.Sort()
das Array sortieren und dann sind die Elemente der Größe nach aufsteigend sortiert. Die Anzahl der Elemente wäre dann die Länge des Arrays. Außerdem ist es nicht logisch zu sagen, dass in deinem Beispiel 1 ≤ dem aktuellen Element ist, weil es einfach nicht zutrifft, d.h. du würdest dein Ergebnis verfälschen.
Vielen Dank für deine Antwort,
In meinem Fall darf die Liste aber nicht sortiert werden.
Mir geht's wirklich definitiv um diese erste (eine) Ausnahme, die beim Schleifendurchlauf akzeptiert werden muss.
Vlt. gibt es ja doch ieine Lösung.
Vielen Dank!
Du kannst natürlich zusätzlich einen zweiten Counter einfügen, der die Anzahl der Versuche protokolliert. Wenn dieser Counter also < 2 ist, dann gilt deine Ausnahme, ansonsten bist du definitiv beim zweiten Versuch.
Hallo wokie,
einen zweiten Counter brauchst du gar nicht. Es reicht, wenn du die if-Abfrage so ergänzt, dass der Vergleichswert ungleich des Ausnahmewerts sein muss.
Das sind allerdings sehr elementare Grundlagen. Bitte beachte daher [Hinweis] Wie poste ich richtig? Punkt 1.1.1
herbivore