Ich weiß, das vor einiger Zeit beantwortet wurde, aber ich wollte nur klarstellen, dass die bevorzugte Lösung in der Regel eine wieder verwendbare Erweiterungsmethode für die Physical Klasse zu schaffen. Da es sich um eine einfache Datenklasse handelt, die sich wahrscheinlich nicht ändert, ist dies aus Gründen der Wiederverwendbarkeit besser. Ich werde Lorenzos Beispiel verwenden, weil ich es am meisten mag, aber Sie können die Routine verwenden, die Ihnen passt.
public static class PhysicalAddressExtensions
{
public static string ToString(this PhysicalAddress address, string separator)
{
return string.Join(separator, address.GetAddressBytes()
.Select(x => x.ToString("X2")))
}
}
Jetzt können Sie nur ab sofort wie folgt die Erweiterungsmethode verwenden:
NetworkInterface[] arr = NetworkInterface.GetAllNetworkInterfaces();
foreach (NetworkInterface item in arr)
{
PhysicalAddress mac = item.GetPhysicalAddress();
string stringFormatMac = mac.ToString(":");
}
Denken Sie daran, dass die PhysicalAddress.Parse nur das RAW-hex annimmt oder getrennte Werte dash, falls wollten Sie es zurück analysieren in ein Objekt. Daher ist es wichtig, das Trennzeichen vor dem Parsen zu entfernen.
das ist ":" nur einmal pro Iteration an anderer Stelle – user1710944
Sie sind herzlich eingeladen, Vielen Dank für Ihre Geduld. – Adil