Используя LINQ, просто замените
macAddresses += nic.GetPhysicalAddress().ToString();
// Produces "00E0EE00EE00"
с
macAddresses += String.Join(":", nic.GetPhysicalAddress()
.GetAddressBytes()
.Select(b => b.ToString("X2"))
.ToArray());
// Produces "00:E0:EE:00:EE:00"
Вы также можете играть с параметром ToString
, например, если вам нравится 00:e0:ee:00:ee:00
больше, чем 00:E0:EE:00:EE:00
, тогда вы можете просто передать "x2"
вместо "X2"
.