Laden...

int-Werte innerhalb einer Liste vergleichen

Erstellt von GokiLoki vor einem Jahr Letzter Beitrag vor einem Jahr 386 Views
G
GokiLoki Themenstarter:in
3 Beiträge seit 2022
vor einem Jahr
int-Werte innerhalb einer Liste vergleichen

Hallo.

Ich wollte fragen, ob man Integer innerhalb einer List miteinander vergleichen kann, wenn ich neue Integer durch immer die selbe Variable hinzugebe.
Beispiel:

List<int> Zahlen = new List<int>();


public void Liste()
{
int X = rand.Next(0, 10);
for(int i=0; i<5; i++)
{
Zahlen.Add(X);
}
}  

Ich will dann z.B. vergleichen ob es 2 Zahlen in der Liste gibt, die nacheinander kommen (also 1 & 2 oder 7 & 8).

Wenn jemand dazu passenden Code oder ne Idee hat wäre ich sehr Dankbar.

G
154 Beiträge seit 2015
vor einem Jahr

Vergleich einfach für den Fall, dass die Liste schon eine Zahl enthält, die neue Zahl, mit der letzten Zahl der Liste.

Abgesehen davon ist in dem Schnipsel X innerhalb der Schleife immer gleich, soll das so?

G
GokiLoki Themenstarter:in
3 Beiträge seit 2022
vor einem Jahr

Ne, das hab ich falsch gesetzt, sollte ja in der for-Schleife sein. Aber wie würde denn der Code aussehen für so ne Abfrage?

Y
11 Beiträge seit 2014
vor einem Jahr

Die Liste hat eine Methode Contains welche du verwenden kannst um zu prüfen ob die Zahl bereits in der Liste vorhanden ist.


for (int i = 0; i < 5; i++)
     {
          int X = rand.Next(0, 10);
          if (Zahlen.Contains(X))
                return;
          Zahlen.Add(X);
     }

16.807 Beiträge seit 2008
vor einem Jahr

Naja, musst Dir halt im Schleifenvorgang immer den Vorgänger merken.
Mal es Dir auf Papier auf und programmiert einfach Deine Anforderung ab.


int? preVal= null;
int[] zahlen = ...

foreach(var zahl in zahlen)
{
   if(preVal == zahl)
        // gleiche Zahl.... hier halt zB auf zahl -1 prüfen... steht Dir frei.

  preVal =zahl; // vorgänger merken
}

Ich mach Dir bewusst nicht den fertigen Code, weil das Forum nicht dazu da ist, Deine Hausaufgaben als fertigen Code zu liefern.
Sollst schon selbst was tun.

PS: auch Du bist herzlichst dazu eingeladen Dich an [Hinweis] Wie poste ich richtig? zu halten und Code Tags zu verwenden.
Niemand, wirklich niemand will Quellcode als reingeklatschten Plaintext lesen. Habs mal grob für Dich hinzugefügt...

@Yankyy02: Dein Code prüft auf Duplikate an allen Stellen; nicht auf nacheinander.

Y
11 Beiträge seit 2014
vor einem Jahr

..... sorry mein Fehler ..... das kommt dabei heraus wenn man die Fragestellung nur überfliegt.