Мне нужно отформатировать целое число как MAC-адрес (01-1A-1B-2B-30 и т. Д.). Есть ли способ сделать это напрямую с помощью string.format()? Все мои attepts до сих пор не удалось:string.format() с шестнадцатеричным форматом coustom
string.Format("{0:X}", 1234567); //Output: 12D687 It is hex, but not formatted
string.Format("{0:00-00-00-00}", 1234567); //Output: 01-23-45-67 Formatted, but not hex
string.Format("{0:00-00-00-00}", string.Format("{0:X}", 1234567)); //Output: 01-23-45-67 Also dosn't work and is ugly.
string.Format("{0:X00-00-00-00}", 1234567); //Output: X01-23-45-67 Well. Still no success here.
Прежде все, целое число не приведет к MAC-адресу, поскольку MAC состоит из 6 байтов (48 бит), а int обычно состоит из 4 байтов (32 бит). Таким образом, вы не получите полный MAC-адрес от int. Помимо этого вы могли бы использовать решение в этом ответе с небольшими корректировками: http://stackoverflow.com/a/7310740/254797 –
Спасибо, но я это знаю. Целое число является только частью устройства MAC. Остальное - наш идентификатор производителя. – Turbofant