I know default c# Random() is a pseudo-random number sequence.
I just need one like this, I am not looking for real-random at this question.
Allow me ask questions:
I tried: new Random(100000000).Next(999999999), I got 145156561, just like some other people said.
My question is: will the pseudo-random number sequence by same seed changes at different system (win2003, win2008, mono etc), at different .net version (.net 3, .net 4, c# 2, c# 3 etc), or will be changed at any other environment?
All I want to know, once I coded, will I always get a same pseudo-random number sequence by same seed everywhere, now and future?
Not reliably. In general, the way to figure out this kind of thing is to look at the documentation (MSDN for .NET). If the algorithm is not described and isn’t an implementation of an otherwise-published algorithm, it should be considered an implementation detail and subject to change.
You need to read these docs pretty strictly too- if there is room for interpretation, you need to assume worst case scenario. In this case: http://msdn.microsoft.com/en-us/library/system.random.aspx only states:
And that it applies to Frameworks:
Nothing about that says whether it is guaranteed to work the same way across any future versions, or even whether you’ll get the same outcome from the various supported frameworks. In fact, it states: