Du solltest nochmal überdenken bzw. nachlesen was BinarySearch macht.
Wenn ihr binäres Suchen schon durchgenommen habt solltest du Wissen das das nur bei einer sortierten Liste funktionieren kann.
Und wenn du dich nochmal dran erinnerst wie das geht sollte dir auch schnell klar werden warum sich BinarySearch anders verhalt sobald das mittlerste Element in der Liste gesetzt wird. Du solltest besser eine der Array.Find() Methoden benutzen.
2.tens du versuchst mit BinarySearch eine Zahl zufinden die du aber immer zuvor schon selbst hineingeschrieben hast.
Also
C#-Quelltext
1: 2: 3:
| gezogenezahl[i] = zufallszahl.Next(1, 49); ... MyPos = Array.BinarySearch(gezogenezahl, gezogenezahl[i]); |
wenn BinarySearch so funktioniert hätte wie von dir erhofft hätte BinarySearch
immer die Zahl gefunden.
Du solltest also eine Zahl würfeln, merken, prüfen ob sie in der Liste ist und wenn nicht dann erst den Wert zu der Liste hinzufügen.
Und nur weil es gesagt sein sollte. Anstatt Array wäre ein List<int> geeigneter. Array solltest du hier nur benutzen weil es euer aktueller Lernstoff ist.
Es gibt (fast) immer bessere Alternativen zu Arrays.