Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

Ermitteln, ob die erste Zahl einer Liste am größten ist, aber bestimmten Wert ignorieren
wokie
myCSharp.de - Member



Dabei seit:
Beiträge: 5

Themenstarter:

Ermitteln, ob die erste Zahl einer Liste am größten ist, aber bestimmten Wert ignorieren

beantworten | zitieren | melden

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;
            }
private Nachricht | Beiträge des Benutzers
CSharperUser
myCSharp.de - Member



Dabei seit:
Beiträge: 81

beantworten | zitieren | melden

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.
private Nachricht | Beiträge des Benutzers
wokie
myCSharp.de - Member



Dabei seit:
Beiträge: 5

Themenstarter:

beantworten | zitieren | melden

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!
private Nachricht | Beiträge des Benutzers
CSharperUser
myCSharp.de - Member



Dabei seit:
Beiträge: 81

beantworten | zitieren | melden

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.
private Nachricht | Beiträge des Benutzers
wokie
myCSharp.de - Member



Dabei seit:
Beiträge: 5

Themenstarter:

beantworten | zitieren | melden

Das ist es!

Vielen Dank!
private Nachricht | Beiträge des Benutzers
herbivore
myCSharp.de - Experte

Avatar #avatar-2627.gif


Dabei seit:
Beiträge: 52329
Herkunft: Berlin

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers