quantum-space-buddies/EpicOnlineTransport/RandomString.cs

37 lines
1.0 KiB
C#
Raw Normal View History

2022-02-06 02:06:25 +00:00
using System;
using System.Text;
2023-04-26 22:23:14 +00:00
public class RandomString {
2022-02-06 02:06:25 +00:00
2023-04-26 22:23:14 +00:00
// Generates a random string with a given size.
public static string Generate(int size) {
var builder = new StringBuilder(size);
2022-02-06 02:06:25 +00:00
2023-04-26 22:23:14 +00:00
Random random = new Random();
2022-02-06 02:06:25 +00:00
2023-04-26 22:23:14 +00:00
// Unicode/ASCII Letters are divided into two blocks
// (Letters 6590 / 97122):
// The first group containing the uppercase letters and
// the second group containing the lowercase.
2022-02-06 02:06:25 +00:00
2023-04-26 22:23:14 +00:00
// 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;
}
2022-02-06 02:06:25 +00:00
2023-04-26 22:23:14 +00:00
var @char = (char) random.Next(offset, offset + lettersOffset);
builder.Append(@char);
}
2022-02-06 02:06:25 +00:00
2023-04-26 22:23:14 +00:00
return builder.ToString();
}
2022-02-06 02:06:25 +00:00
}