Entwickler-Ecke

Basistechnologien - Bestimmte Zahlen innerhalb einer Textbox erkennen?


ImInneren - Do 12.02.15 13:25
Titel: Bestimmte Zahlen innerhalb einer Textbox erkennen?
Hallo liebe Community,

zuerstmal, ich habe erst kürzlich angefangen mit C# und habe mit einem guten Freund zusammen, der aber nicht immer Zeit hat, ein Würfel-Generator programmiert.
Das brauche ich, um ein Strategiespiel (nicht virtuell) zu erstellen. Da kann ich bisher wählen, wie viele Würfel und welche Arten von Würfel ich würfeln möchte.
Und haben dazu einen eigenen Generator gebaut und nicht den Standart-Random genommen.

Nun geben wir die einzelnen Würfel in einer Textbox aus, etwa so:

6, 8, 3, 2, 1

Meine Frage ist nun, wenn ich z.B. wissen will, wie oft 6 oder höher gewürfelt wurde, wie kann ich das aus der Textbox rauslesen? Und geht das überhaupt?
Vielen Dank!


Th69 - Do 12.02.15 14:07

Hallo und :welcome:

eine TextBox dient nur zur Anzeige, die eigentlichen Daten solltet du in einer eigenen Datenstruktur (z.B. einer Liste) halten:

C#-Quelltext
1:
List<int> werte = new List<int>(); // als Membervariable deiner Klasse                    

Sobald du eine Zahl generierst, fügst du diese dann der Liste hinzu:

C#-Quelltext
1:
2:
int zahl = ...;
werte.Add(zahl);

Um nun zu überprüfen, wie oft eine Zahl gewürfelt wurde, kannst du dann entweder direkt über die Liste iterieren (for oder foreach) oder aber die Linq-Methode Count() [https://msdn.microsoft.com/de-de/library/vstudio/system.linq.enumerable.count%28v=vs.100%29.aspx] benutzen:

C#-Quelltext
1:
2:
3:
4:
5:
// oben in der Datei
using System.Linq;

// im Code
int count6 = werte.Count(x => x == 6);


ImInneren - Do 12.02.15 16:42

Okay, das ist verständlich :D

Jetzt habe ich ein anderes Problem:

Ich habe

C#-Quelltext
1:
int Treffer1;                    

generiert, will jetzt den später hochgecounteten Wert in einer Textbox anzeigen lassen, nur int ist ja kein Textbox-Format...
Wie wandel ich das um?

:/

Moderiert von user profile iconTh69: C#-Tags hinzugefügt


baumina - Do 12.02.15 17:08

Ohne es wirklich zu wissen denke ich mit:

C#-Quelltext
1:
Treffer1.ToString()                    


Moderiert von user profile iconTh69: C#-Tags hinzugefügt


ImInneren - Do 12.02.15 17:15

Hab es auch schon gefunden :D

Einfach:


C#-Quelltext
1:
2:
int Treffer = 5;
textbox.Text = Treffer.ToString();


Nur als Beispiel :)