Random integer in VB.NET

Question :

Random integer in VB.NET,

Answer :

I need to generate a random integer between 1 and n (where n is a positive whole number) to use for a unit test. I don’t need something overly complicated to ensure true randomness – just an old-fashioned random number.

How would I do that?

,

As has been pointed out many times, the suggestion to write code like this is problematic:

Public Function GetRandom(ByVal Min As Integer, ByVal Max As Integer) As Integer      Dim Generator As System.Random = New System.Random()      Return Generator.Next(Min, Max)  End Function  

The reason is that the constructor for the Random class provides a default seed based on the system’s clock. On most systems, this has limited granularity — somewhere in the vicinity of 20 ms. So if you write the following code, you’re going to get the same number a bunch of times in a row:

Dim randoms(1000) As Integer  For i As Integer = 0 to randoms.Length - 1      randoms(i) = GetRandom(1, 100)  Next  

The following code addresses this issue:

Public Function GetRandom(ByVal Min As Integer, ByVal Max As Integer) As Integer      ' by making Generator static, we preserve the same instance '      ' (i.e., do not create new instances with the same seed over and over) '      ' between calls '      Static Generator As System.Random = New System.Random()      Return Generator.Next(Min, Max)  End Function  

I threw together a simple program using both methods to generate 25 random integers between 1 and 100. Here’s the output:

Non-static: 70 Static: 70  Non-static: 70 Static: 46  Non-static: 70 Static: 58  Non-static: 70 Static: 19  Non-static: 70 Static: 79  Non-static: 70 Static: 24  Non-static: 70 Static: 14  Non-static: 70 Static: 46  Non-static: 70 Static: 82  Non-static: 70 Static: 31  Non-static: 70 Static: 25  Non-static: 70 Static: 8  Non-static: 70 Static: 76  Non-static: 70 Static: 74  Non-static: 70 Static: 84  Non-static: 70 Static: 39  Non-static: 70 Static: 30  Non-static: 70 Static: 55  Non-static: 70 Static: 49  Non-static: 70 Static: 21  Non-static: 70 Static: 99  Non-static: 70 Static: 15  Non-static: 70 Static: 83  Non-static: 70 Static: 26  Non-static: 70 Static: 16  Non-static: 70 Static: 75  

That’s the answer Random integer in VB.NET, Hope this helps those looking for an answer. Then we suggest to do a search for the next question and find the answer only on our site.

Read More  Best ways to teach a beginner to program?

Disclaimer :

The answers provided above are only to be used to guide the learning process. The questions above are open-ended questions, meaning that many answers are not fixed as above. I hope this article can be useful, Thank you