Skip to content

Instantly share code, notes, and snippets.

@lu1s
Created July 11, 2013 18:48
Show Gist options
  • Save lu1s/5978112 to your computer and use it in GitHub Desktop.
Save lu1s/5978112 to your computer and use it in GitHub Desktop.
Random string c# static method and its enum
// Use it like:
// RandomStringHelper.RandomString(32, EnumRandomStringType.AlphaNumericWithSymbols);
// and it should return a string like "nd#9ian@iddjhn*And08183Anqov3a8Z"
public class RandomStringHelper
{
private enum EnumRandomStringType
{
AlphaNumeric = 1,
Numbers = 2,
Letters = 3,
Symbols = 4,
AlphaNumericWithSymbols = 5,
NumbersWithSymbols = 6,
LettersWithSymbols = 7,
}
public static string RandomString(int length, EnumRandomStringType type = EnumRandomStringType.AlphaNumeric)
{
var st = string.Empty;
var arr = "".ToCharArray();
const string abc = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJLKMNOPQRSTUVWXYZ";
const string num = "0123456789";
const string sym = "~!@#$*";
switch(type)
{
case EnumRandomStringType.AlphaNumeric:
arr = (abc + num).ToCharArray();
break;
case EnumRandomStringType.Letters:
arr = abc.ToCharArray();
break;
case EnumRandomStringType.Numbers:
arr = num.ToCharArray();
break;
case EnumRandomStringType.Symbols:
arr = sym.ToCharArray();
break;
case EnumRandomStringType.LettersWithSymbols:
arr = (abc + sym).ToCharArray();
break;
case EnumRandomStringType.NumbersWithSymbols:
arr = (num + sym).ToCharArray();
break;
case EnumRandomStringType.AlphaNumericWithSymbols:
arr = (abc + num + sym).ToCharArray();
break;
}
var random = new Random();
for(var i = 0;i < length; i++)
{
st += arr[random.Next(0, arr.Length)];
}
return st;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment