Как создать ALPHANUMERIC код купона в C#?

У меня есть метод, который генерирует Coupon Code, Может ли кто-нибудь помочь / предложить генерировать ALPHANUMERIC CODE?

Ниже приведен метод:

public string CouponGenerator(int length)
    {
        var sb = new StringBuilder();
        for (var i = 0; i < length; i++)
        {
            var ch = Convert.ToChar(Convert.ToInt32(Math.Floor(26 * _random.NextDouble() + 65)));

            sb.Append(ch);
        }

        return sb.ToString();
    }
    private static readonly Random _random = new Random();

Пример:

UZWKXQML, когда длина установлена ​​на 8

Но для этого нужно что-то вроде U6WK8Q2L т.е. буквенно-цифровой код.

2 ответа

Решение

Вы можете изменить длину кода Купана.

 var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
    var random = new Random();
    var result = new string(
        Enumerable.Repeat(chars, 8)
                  .Select(s => s[random.Next(s.Length)])
                  .ToArray());

Просто перетасуйте последовательность альфа-ставки и возьмите необходимое количество символов.

   public string CouponGenerator(int length, char[] alphaNumSeed)
    {
        var coupon = alphaNumSeed.OrderBy(o => Guid.NewGuid()).Take(length);

        return new string(coupon.ToArray());
    }
Другие вопросы по тегам