Стоит задача генерации последовательности номеров. Допустим есть номер
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
(количество вариаций символов).
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Как сделать форму прокликиваемой? На форме label с фоновым изображением, нужно чтобы при клике на форму и label, клик уходил в окно за ней