[C#] Abfrage oder Vergleich von Textboxen

R

Roaddog9999

Moooin,
Ich bin noch anfänger in c++ und C# hab mit Console angefangen und bin bei Objekt Orientiert angekommen.
Zurzeit Programmier ichn Lottozahlengenerator. Ich denke meine lösung is etwas unkonventionell und mehr auf nutzen ausgelegt ^^ aba ejal.
hier mein code:


using systems...bla


namespace WindowsFormsApplication6
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
Random zufall = new Random();

private void button11_Click(object sender, EventArgs e)
{
for (int i = 0; i < 6; i++)
{

int number = zufall.Next(1, 49);
edtzahlen.Text = number.ToString();
int number2 = zufall.Next(1, 49);
edtzahlen2.Text = number2.ToString();
int number3 = zufall.Next(1, 49);
edtzahlen3.Text = number3.ToString();
int number4 = zufall.Next(1, 49);
edtzahlen4.Text = number4.ToString();
int number5 = zufall.Next(1, 49);
edtzahlen5.Text = number5.ToString();
int number6 = zufall.Next(1, 49);
edtzahlen6.Text = number6.ToString();
}
}
}
}

so mein Problem ist wie unterbinde ich das da mehrere zahlen doppelt dreifach etc. sein können?Ich weiß das es durch die Bool variable geht oder durch noch eine schleife meine ich aber ich komme nicht auf einen grünen zweig...

kann mir da evtl. jemand helfen
ich programmiere mit Visual Studio 08

thx im voraus
 
Hallo!

Einerseits könntest du die [code=csharp][/code]-Tags für deinen Code verwenden, dann wird der gleich viel übersichtlicher.

Andererseits frage ich mich etwas ob deiner for-Schleife. Warum machst du diesen Code 6 Mal? Du fügst ja in der Schleife schon allen 6 Textboxen einen Wert zu.

Zu deiner Frage:
Du kannst zum Beispiel die bisher generierten Zahlen in einer Liste speichern und eine eigene Funktion zur Rückgabe der Zufallszahl machen.
C#:
int GetUniqueRandom()
{
	int number = zufall.Next(0, 49);
	while (mListRandoms.Contains(number) == true)
	{
		number = zufall.Next(0, 49);
	}
	mListRandoms.Add(number);
	return number;
}

Gruss
Cromon
 
Moin,
Danke erstmal für die Antwort. Aber leider habe ich mit einer liste noch nich gearbeitet deshalb Frage ich mich, wie benutzt ich die liste den? ich weiß bei der Consolen Programmierung hat man dann einfach nur ein Console,writeline(Zurückgegebener wert) usw.

Aber ich würde das ganz gerne ich 6 Textboxen verfrachten halt für jede Textbox eine Zahl. Ich komm einfach nich drauf wie die ausgabe nachher sein soll bzw. wie ich den wert in die 6 Textboxen bekommen tu.

mfg

Roaddog99
 
Du könntest die Funktion so erweitern, dass sie die Liste mit 6 Zufallszahlen füllt.
C#:
private List<int> mListRandom = new List<int>();

void FillRandomList(int numValues)
{
	if(numValues > 49)
		return;

	for(int i = 0; i < numValues; ++i)
	{
		int number = zufall.Next(0, 49);
   		while (mListRandoms.Contains(number) == true)
    		{
        		number = zufall.Next(0, 49);
    		}
    		mListRandoms.Add(number);
	}
}

Bei einem Aufruf von FillRandomList(6) werden 6 einzigartige "Zufallszahlen" in die Liste eingefügt. Anschliessend kannst du mit mListRandoms[0 - 5] darauf zugreiffen.
 
Achsooooooo-.-
ich wusste halt nur nich wie man auf diese liste dann halt zugreifen kann. Hätte nich gedacht das man darauf zugreift sozusagen wie ein Array

Danke das hat mir seeehr weiter geholfen =)

Mfg
Roaddog99
 
Das liegt einfach daran, dass ein entsprechender operator für List definiert wurde. Das kannst du übrigens für deine Klasse auch machen, indem du den operator this überlädst.
 
Aso ja ich kenne mich noch nich so mit visual studio und c# aus weil hab erst mitn Borland builder 5 und c++ angefangen und c# auf VBS 08 ist bisschen was anderes für mich finde ich
 
Zurück