Deine Schleife läuft solange bis fliegerRegister NULL ist. Eventuell sollte dort eine andere bzw. weitere Aussteige-Bedingung rein.
Wenn ich es richtig im Debug ( [Artikel] Debugger: Wie verwende ich den von Visual Studio?) gesehen habe, solltest Du Dir nochmal die Methode PositionBerechnen anschauen. Deine Flugzeuge steigen u. sinken nie und bekommen keine neue Position.
Der Denkfehler ist der Aufbau/Struktur des Arrays.
Dein Array über 7 Zeilen zu initialisieren, splittet für dich nicht direkt die Ausgabe.
Somit fehlt bei der Ausgabe des Arrays noch die Information ab welcher Stelle der Zeilenumbruch stattfinden soll.
Eine Datenbank wäre für mich eine Option, wenn man die Daten in der Ursprungsform für zukünftige Prozesse benötigt.
Mit den hier vorliegenden Informationen würde mir eine Liste von Objekte reichen, welches an Hand des Beispiels die Tiere katalogiert und neben Namen mehrere Eigenschaften für Anzahl o.ä. (je nachdem für was die Zahlen stehen) besitzt.
Die Text-Datei zeilenweise lesen, sollte für sich kein Beinbruch sein, weil es dazu etliche Tutorials existieren.
Summieren innerhalb der Eigenschaft wäre sehr unpraktisch bzw. dann wäre die Eigenschaft nicht mehr ordentlich setzbar. Also man könnte z.B. den Wert der Eigenschaft nicht ohne unnötig aufblähen resetten/verringern.
Nebenbei wüßte einzig der Entwickler alleine, wie sich die Eigenschaft verhält, wenn nicht direkt im Namen der Eigenschaft bzw. im Kommentar ersichtlich ist, dass sie sich selbst summiert. Also auch fehleranfällig in der Verwendung. Aber wenn man will, wäre es möglich. Nur empfehlen würde ich es allemal nicht
Als Eigenschaft kannst Du es direkt in XAML hinterlegen neben der Höhe, Breite, etc.
Müssen ist dabei ein starkes Wort, weil Dich perse niemand zwingt. Es ist aber sauberer als mit unnötigen Code-Behind zu arbeiten. [Artikel] MVVM und DataBinding
bist Du Dir sicher, dass Du im Click-Event vom Button eine Endlosschleife haben möchtest?
Edit:
Wenn man Dein Thread.Sleep() mit der Schleife gegen z.B. einen Timer mit einen Intervall von 1000 tauscht, sähe es (vom Code her alleine schon) um einiges besser aus.
Natürlich kann ich Werte mit dem Konstruktor übergeben, doch eben keine Objekte.
Hast du denn schon mal versucht einen Konstruktor zu erstellen, welcher in der Signatur ein Objekt vom Typ "Helden" bzw. mehrere Objekte vom Typ z.B. List<Helden> möchte?
Packe ich das ganze in eine foreach Schleife bekomme ich die Meldung das eventargs keine definition für e.rowindex enthält...
Welchen enventargs soll ich bei einem klick auf den Button weitergeben???
Ist Dir denn bewusst, was e.RowIndex ist?
Wie hast Du den Schleifenkopf von foreach geschrieben? Auch wenn es mit foreach geht, versuchs notfalls mit einer for-Schleife, um es Dir verständlicher zu machen, was den Index-Zugriff angeht.
Nimm es mir nicht krum: Aber versuch mal den FAQ zu verstehen. Allein die Skizze im ersten Beitrag von herbivore wird deine Frage beantworten.
Bzw. erläutere, was du daran nicht verstehst.