Generating Random Number and String in VB.NET

The Random class defined in the .NET Framework class library provides functionality to generate random numbers. This article shows you how you can use this class to generate random numbers and strings and even combination of both.
  • 5886

The Random class defined in the .NET Framework class library provides functionality to generate random numbers.

The Random class constructors have two overloaded forms. It takes either no value or it takes a seed value.

The Random class has three public methods-Next, NextBytes, and NextDouble. The Next method returns a random number, NextBytes returns an array of bytes filled with random numbers, and NextDouble returns a random number between 0.0 and 1.0. The Next method has three overloaded forms and allows you to set the minimum and maximum range of the random number.

The following code returns a random number:

Dim num As Integer = random.Next()

The following code returns a random number less than 1000.

Dim num As Integer = random.Next(1000)

The following code returns a random number between min and max:

Private Function RandomNumber(min As Integer, max As Integer) As Integer
   Dim random As New Random()
   Return random.Next(min, max)
End Function 'RandomNumber

At some point, you may also want to generate random strings. I have created a method, which takes first parameter as the size of string and second parameter if you want the string to be lowercase.

'/ '/ Generates a random string with the given length
'/ '/ Size of the string '/ If true, generate lowercase string
'/ Random string
Private Function RandomString(size As Integer, lowerCase As Boolean) As String
   Dim builder As New StringBuilder()
   Dim random As New Random()
   Dim ch As Char
   Dim i As Integer
   For i = 0 To size - 1
      ch = Convert.ToChar(Convert.ToInt32((26 * random.NextDouble() + 65)))
      builder.Append(ch)
   Next
   i
If lowerCase Then
      Return builder.ToString().ToLower()
   End If
   Return builder.ToString()
End Function 'RandomString

You can even combine the two methods-RandomNumber and RandomString to generate a combination of random string and numbers. For example, the following code generates a password of length 10 with first 4 letters lowercase, next 4 letters numbers, and last 2 letters as uppercase.

Public Function GetPassword() As String
   Dim builder As New StringBuilder()
   builder.Append(RandomString(4,
True))
   builder.Append(RandomInt(1000, 9999))
   builder.Append(RandomString(2,
False))
   Return builder.ToString()
End Function 'GetPassword

Categories

More Articles

© 2020 DotNetHeaven. All rights reserved.