Heim > Backend-Entwicklung > C++ > Wie kann ich die MAC-Adresse einer Maschine in C# zuverlässig abrufen?

Wie kann ich die MAC-Adresse einer Maschine in C# zuverlässig abrufen?

DDD
Freigeben: 2025-01-17 01:26:08
Original
929 Leute haben es durchsucht

How Can I Reliably Retrieve a Machine's MAC Address in C#?

Robustes Abrufen der MAC-Adresse eines Computers in C#

Das zuverlässige Abrufen der MAC-Adresse einer Maschine in C# kann aufgrund von Betriebssystem- und Sprachinkonsistenzen schwierig sein. Während ipconfig /all wie eine Lösung erscheinen mag, variiert das Ausgabeformat von System zu System, was es unzuverlässig macht.

Ein zuverlässiger Ansatz

Eine robustere Methode nutzt die Klasse NetworkInterface in C#. Dies bietet eine konsistente Möglichkeit, MAC-Adressen unabhängig vom Betriebssystem oder der Sprache abzurufen. So geht's:

<code class="language-csharp">var macAddr = 
    (
        from nic in NetworkInterface.GetAllNetworkInterfaces()
        where nic.OperationalStatus == OperationalStatus.Up
        select nic.GetPhysicalAddress().ToString()
    ).FirstOrDefault();</code>
Nach dem Login kopieren

Dieser Code ruft alle Netzwerkschnittstellen ab, filtert nach aktiven und wählt deren physische Adressen (MAC-Adressen) aus. FirstOrDefault() gibt die erste gefundene MAC-Adresse zurück.

Alternative Implementierung (expliziter)

Ein etwas detaillierterer Ansatz liefert das gleiche Ergebnis:

<code class="language-csharp">string firstMacAddress = NetworkInterface
    .GetAllNetworkInterfaces()
    .Where(nic => nic.OperationalStatus == OperationalStatus.Up && nic.NetworkInterfaceType != NetworkInterfaceType.Loopback)
    .Select(nic => nic.GetPhysicalAddress().ToString())
    .FirstOrDefault();</code>
Nach dem Login kopieren

Dies schließt inaktive und Loopback-Schnittstellen ausdrücklich aus, um sicherzustellen, dass nur gültige MAC-Adressen berücksichtigt werden.

Das obige ist der detaillierte Inhalt vonWie kann ich die MAC-Adresse einer Maschine in C# zuverlässig abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage