mirror of
https://github.com/misternebula/quantum-space-buddies.git
synced 2024-12-29 12:21:25 +00:00
42 lines
900 B
C#
42 lines
900 B
C#
using System;
|
||
using System.Text;
|
||
|
||
public class RandomString
|
||
{
|
||
// Generates a random string with a given size.
|
||
public static string Generate(int size)
|
||
{
|
||
var builder = new StringBuilder(size);
|
||
|
||
var random = new Random();
|
||
|
||
// Unicode/ASCII Letters are divided into two blocks
|
||
// (Letters 65–90 / 97–122):
|
||
// The first group containing the uppercase letters and
|
||
// the second group containing the lowercase.
|
||
|
||
// char is a single Unicode character
|
||
var offsetLowerCase = 'a';
|
||
var offsetUpperCase = 'A';
|
||
const int lettersOffset = 26; // A...Z or a..z: length=26
|
||
|
||
for (var i = 0; i < size; i++)
|
||
{
|
||
char offset;
|
||
if (random.Next(0, 2) == 0)
|
||
{
|
||
offset = offsetLowerCase;
|
||
}
|
||
else
|
||
{
|
||
offset = offsetUpperCase;
|
||
}
|
||
|
||
var @char = (char)random.Next(offset, offset + lettersOffset);
|
||
builder.Append(@char);
|
||
}
|
||
|
||
return builder.ToString();
|
||
}
|
||
}
|