Created
July 11, 2013 18:48
-
-
Save lu1s/5978112 to your computer and use it in GitHub Desktop.
Random string c# static method and its enum
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// 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