RandomNumber method returns same number every time called
c#, random
Solution
Instantiate Random once. Call .Next() multiple times on the same instance.
MSDN:
The random number generation starts from a seed value. If the same seed is used repeatedly, the same series of numbers is generated
If you do wish to repeatedly instantiate Random, use a different seed each time.
Problem
I am trying to generate a different random number every time my RandomNumber method is called from within my for loop. Right now, it returns the same number every time. This is my RandomNumber method: ``` private int RandomNumber(int min, int max) { Random random = new Random(); return random.Next(min, max); } ``` This is the context I am using it in: (it's a little messy just because I have been messing with trying to get it to work....) ``` for (int i = 0; i < charsRaw.Length; i++) { int max = charsRaw.Length - 1; int rand = 0; rand = RandomNumber(0, max); charsNew[i] = charsRaw[rand]; text2 += charsNew[i]; } ``` I can't seem to get it to return a different value every time it is called with the for loop. Although, when i stick a MessageBox.Show(rand.ToString()) after text2 += charsNew[i], it gives me a different value every time and works the way I intended it to. Strange. Thanks! Eric