How can I generate random alphanumeric strings?

后端 未结 30 3273
予麋鹿
予麋鹿 2020-11-22 03:17

How can I generate a random 8 character alphanumeric string in C#?

30条回答
  •  春和景丽
    2020-11-22 03:56

    public static class StringHelper
    {
        private static readonly Random random = new Random();
    
        private const int randomSymbolsDefaultCount = 8;
        private const string availableChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
    
        private static int randomSymbolsIndex = 0;
    
        public static string GetRandomSymbols()
        {
            return GetRandomSymbols(randomSymbolsDefaultCount);
        }
    
        public static string GetRandomSymbols(int count)
        {
            var index = randomSymbolsIndex;
            var result = new string(
                Enumerable.Repeat(availableChars, count)
                          .Select(s => {
                              index += random.Next(s.Length);
                              if (index >= s.Length)
                                  index -= s.Length;
                              return s[index];
                          })
                          .ToArray());
            randomSymbolsIndex = index;
            return result;
        }
    }
    

提交回复
热议问题