Hi, I want to generate random strings out of a list: So I used this code:
Random rnd = new Random();
List<string> validStrings = new List<string>() {
"Banana",
"Avocado",
"Grape",
"Apple", "Custard Apple",
"Cranberry" };
result = validStrings[rnd.Next(0, validStrings.Count)];
But I want it to generate only if that string wasn't previously already generated. So I tried using a listbox:
private void GenerateRandom()
{
try
{
Random rnd = new Random();
List<string> validStrings = new List<string>() {
"Banana",
"Avocado",
"Grape",
"Apple", "Custard Apple",
"Cranberry" };
result = validStrings[rnd.Next(0, validStrings.Count)];
if (!listBox1.Items.Contains(result))
{
generatedrandom = result;
listBox1.Items.Add(result);
}
else
{
GenerateRandom();
}
}
catch (Exception EX)
{
MessageBox.Show(EX.ToString(), "EXCEPTION");
}
But I get this exception: System.StackOverflowException
I understood that it infinitely looped the code and finally wasn't able to generate anything.
Please help