Решение: Была написана функция alMacList(string first, decimal count, string separatorChar, bool up). Данная функция получает в качестве параметра первый MAC в диапозоне, получает количество нужных адресов, символ разделитель (MAC может быть как цельным числом, так и разделяться. К примеру - "AABBCCDDEEFF" и "AA:BB:CC:DD:EE:FF"). Нужно ли отдавать в верхнем или нижнем регистре. Возвращает ArrayList. Проверок на корректность входных параметров НЕТ!
Собственно сама функция -
private ArrayList alMacList(string first, decimal count, string separatorChar, bool up) { ArrayList mac = new ArrayList(); long value = long.Parse(first, NumberStyles.HexNumber, CultureInfo.CurrentCulture.NumberFormat); for (int i = 0; i < count; i++) { string s = (value + i).ToString("X12"); s = String.Format("{0}{6}{1}{6}{2}{6}{3}{6}{4}{6}{5}", s.Substring(0,2), s.Substring(2,2), s.Substring(4,2), s.Substring(6,2), s.Substring(8,2), s.Substring(10,2), separatorChar); if (up) {s = s.ToUpper(); } else s = s.ToLower(); mac.Add(s); } return mac; }
Комментариев нет:
Отправить комментарий