Стоит задача генерации последовательности номеров. Допустим есть номер
898811122xxx
Как мы видим xxx — это маска. Чтобы сгенерировать эту последовательность можно воспользоваться методом For, однако я не знаю как определить максимальное значение 3-значного числа ( у нас в строке номера xxx). Для данной маски это число 999. Подскажите алгоритм определения этого значения в коде c#.
Максимальное значение n-значного числа в десятичной системе можно сгенерировать в виде строки так:
var maxValueString = new string('9', n);
затем нужно будет преобразовать в числовой тип. В зависимости от n это может быть int, long, BigInteger:
int maxValue = Int32.Parse(new string('9', n)));
Зависит от того, сколько может быть различных символов в маске (power):
var mask = "XXX";
var power = '9' - '0' + 1; // 10
var size = Math.Pow(power, mask.Length) - 1;
Здесь power = 10 для символов от 0 до 9.
Допустим, у нас X - это символ от А до Z, тогда:
var power = 'Z' - 'A' + 1; // 26
В более общем случае подряд идущих символов - это maxchar - minchar + 1 (количество вариаций символов).
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости