Hey Guys i know this Question was asked before but I'm not able to find the right Solution for my Problem. I have a Method "GenerateLottoSchein()" which creates a new Instance of an ArrayList and fill it with a for Loop which calls another Method "GenerateLottoFieldWithSmallNumbers()" this Method returns an Array each time its called. I allways get the same array in this ArrayList but when im debugging it is working fine, that irritates me also.
public int[] GenerateLottoFieldWithSmallNumbers(int firstNumber, int secondNumber, int thirdNumber)
{
int[] currentLottoField = new int[6];
var random = new Random();
int randomNumber = random.Next(1, 30);
currentLottoField[0] = firstNumber;
currentLottoField[1] = secondNumber;
currentLottoField[2] = thirdNumber;
if (randomNumber != firstNumber && randomNumber != secondNumber && randomNumber != thirdNumber)
{
currentLottoField[3] = randomNumber;
}
randomNumber = random.Next(1, 30);
if (randomNumber != firstNumber && randomNumber != secondNumber && randomNumber != thirdNumber && randomNumber != currentLottoField[3])
{
currentLottoField[4] = randomNumber;
}
randomNumber = random.Next(1, 30);
if (randomNumber != firstNumber && randomNumber != secondNumber && randomNumber != thirdNumber && randomNumber != currentLottoField[3] && randomNumber != currentLottoField[4])
{
currentLottoField[5] = randomNumber;
}
Array.Sort(currentLottoField);
return currentLottoField;
}
public ArrayList GenerateLottoSchein()
{
ArrayList twelveLottoFields = new ArrayList();
for (int i = 0; i < 12; i++)
{
int[] oneField = new int[6];
oneField = GenerateLottoFieldWithSmallNumbers(4, 13, 24);
twelveLottoFields.Add(oneField);
}
return twelveLottoFields;
}