Random
lowercase letterIn ASCII there are 26 lowercase letters. We cannot generate these directly with the Random
class
. But we can use a Function to get them.
With VB.NET helper functions like Asc and Chr we convert the Integer returned by Random
's Next Function. We manipulate the value of the random number.
We introduce a GetLetter
Function. This returns a Char
. We use a Random
class
instance field. We call Next()
on the Random
class
.
Next()
. The 0 will correspond to the lowercase letter "a."Module Module1 ' Used for GetLetter function. Dim _random As Random = New Random() Function GetLetter() As Char ' Get random number between 0 and 25 inclusive. ' ... The second argument 26 is exclusive. ' ... This corresponds to an ASCII char. Dim number As Integer = _random.Next(0, 26) ' Convert lowercase "a" to an Integer with Asc. ' ... Use this value to offset the number we generated. ' ... Convert back to a Char with Chr. Dim letter As Char = Chr((Asc("a"c) + number)) Return letter End Function Sub Main() ' Use our GetLetter function 5 times. For i As Integer = 0 To 4 Dim letter = GetLetter() Console.WriteLine(letter) Next End Sub End Modulev s s i q
With a Random
field, we avoid repeating random sequences. When a method like GetLetter
is called many times, it is important to avoid creating a new Random
each time.
After running this program many times, I find that it generates "a" through "z." And no other chars appear to be generated.
Random
lowercase letters can be used alongside a class
like StringBuilder
. We can generate random strings in this way.