Random number is C#

  • Thread starter Thread starter Maziar Aflatoun
  • Start date Start date
M

Maziar Aflatoun

Hi everyone,

I have the following code in my class method

TheSeed = (int)DateTime.Now.Ticks;
Random rndNum = new Random(TheSeed);
RandNum = rndNum.Next(0, TotalRows);
Debug.WriteLine("RandNum:" + RandNum + " Low:0 " + "High:" + TotalRows);

My page gets called everytime and these are the values that I'm getting for
TotalRows = 8

RandNum:1 Low:0 High:8
RandNum:0 Low:0 High:8
RandNum:2 Low:0 High:8
RandNum:2 Low:0 High:8
RandNum:3 Low:0 High:8
RandNum:2 Low:0 High:8
RandNum:1 Low:0 High:8
RandNum:3 Low:0 High:8
RandNum:0 Low:0 High:8
RandNum:0 Low:0 High:8
RandNum:1 Low:0 High:8
RandNum:2 Low:0 High:8
RandNum:2 Low:0 High:8
RandNum:1 Low:0 High:8
RandNum:3 Low:0 High:8
RandNum:3 Low:0 High:8
RandNum:2 Low:0 High:8
RandNum:2 Low:0 High:8
RandNum:1 Low:0 High:8
RandNum:3 Low:0 High:8
RandNum:2 Low:0 High:8
RandNum:3 Low:0 High:8
RandNum:2 Low:0 High:8
RandNum:2 Low:0 High:8
RandNum:7 Low:0 High:8

Does anyone know why C# Random function is generating more 1,0,2,3 much more
frequently than 4,5,6,7,8?

Thank you
Maziar A.
 
Have you tried not seeding it? Or only seed it once?
This works for me:

Random rndNum = new Random();
for (int i = 0; i < 20; i++)
{
int rnd = rndNum.Next(0, 8);
System.Diagnostics.Debug.WriteLine("RandNum:" + rnd + " Low:0 " +
"High:" + 8);
}


RandNum:3 Low:0 High:8
RandNum:6 Low:0 High:8
RandNum:5 Low:0 High:8
RandNum:1 Low:0 High:8
RandNum:1 Low:0 High:8
RandNum:6 Low:0 High:8
RandNum:7 Low:0 High:8
RandNum:3 Low:0 High:8
RandNum:4 Low:0 High:8
RandNum:2 Low:0 High:8
RandNum:6 Low:0 High:8
RandNum:5 Low:0 High:8
RandNum:2 Low:0 High:8


HTH;
Eric Cadwell
http://www.origincontrols.com
 
Maziar Aflatoun said:
I have the following code in my class method

TheSeed = (int)DateTime.Now.Ticks;
Random rndNum = new Random(TheSeed);
RandNum = rndNum.Next(0, TotalRows);
Debug.WriteLine("RandNum:" + RandNum + " Low:0 " + "High:" + TotalRows);

My page gets called everytime and these are the values that I'm getting for
TotalRows = 8

Could you post a short but complete program which demonstrates the
problem?

See http://www.pobox.com/~skeet/csharp/complete.html for details of
what I mean by that.

Note that you should create a single instance of Random and then use
that repeatedly, rather than creating a new one each time - otherwise
you could easily end up creating two with the same seed.
 
Back
Top