Laden...

int-Werte innerhalb einer Liste vergleichen

Letzter Beitrag vor einem Jahr 6 Posts 442 Views
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.

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?

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?

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

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.

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