generate radom word

来源:互联网 发布:编程学校多少钱 编辑:程序博客网 时间:2024/05/22 02:22
public abstract class RandomWordHelper    {        public static string GetRandomWord(int length, WordType wordType)        {            string alphabet = null;            switch (wordType)            {                case WordType.LetterAndNumbers: // exclude S,O,I and 5,0,1 to avoid confusion                    alphabet = "ABCDEFGHJKLMNPQRTUVWXYZ2346789";                    break;                case WordType.OnlyNumbers:                    alphabet = "1234567890";                    break;                case WordType.OnlyLetters:                    alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";                    break;            }            return GetRandomString(alphabet, length);        }        private static string GetRandomString(string alphabet, int length)        {            var sb = new StringBuilder();            var random = new Random();            for (int i = 0; i < length; i++)            {                sb.Append(                    alphabet.Substring(                    random.Next(alphabet.Length), 1));            }            return sb.ToString();        }        public enum WordType        {            LetterAndNumbers = 0,            OnlyLetters = 1,            OnlyNumbers = 2,        }    }


use:

string word = GetRandomWord(9, RandomWordHelper.WordType.LetterAndNumbers);

if need generarte unique word:

private static string GetUniqueRandomWord()        {            bool isUniqueWord = false;            string randomWord = String.Empty;            while (!isUniqueWord)            {                randomWord = GetRandomWord(9, RandomWordHelper.WordType.LetterAndNumbers);                isUniqueWord = CheckUniqueWord(randomWord);            }            return randomWord;        }        private static bool CheckUniqueWord(string randomWord)        {            var service = new HeadsRtailsTicketService();            return service.GetByTicketCode(randomWord) == null;        }

use: 

string s = GetUniqueRandomWord();


原创粉丝点击