mirror of
https://github.com/misternebula/quantum-space-buddies.git
synced 2024-12-28 18:25:18 +00:00
37 lines
1.0 KiB
C#
37 lines
1.0 KiB
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);
|
|||
|
|
|||
|
Random 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
|
|||
|
char offsetLowerCase = 'a';
|
|||
|
char 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();
|
|||
|
}
|
|||
|
}
|