Obtention robuste de l'adresse MAC d'un ordinateur en C#
Obtenir de manière fiable l'adresse MAC d'une machine en C# peut être délicat en raison des incohérences du système d'exploitation et du langage. Bien que ipconfig /all
puisse sembler être une solution, son format de sortie varie selon les systèmes, ce qui le rend peu fiable.
Une approche fiable
Une méthode plus robuste exploite la classe NetworkInterface
en C#. Cela fournit un moyen cohérent de récupérer les adresses MAC quel que soit le système d'exploitation ou la langue. Voici comment procéder :
<code class="language-csharp">var macAddr = ( from nic in NetworkInterface.GetAllNetworkInterfaces() where nic.OperationalStatus == OperationalStatus.Up select nic.GetPhysicalAddress().ToString() ).FirstOrDefault();</code>
Ce code récupère toutes les interfaces réseau, filtre celles actives et sélectionne leurs adresses physiques (adresses MAC). FirstOrDefault()
renvoie la première adresse MAC trouvée.
Mise en œuvre alternative (plus explicite)
Une approche légèrement plus détaillée offre le même résultat :
<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>
Cela exclut explicitement les interfaces inactives et de bouclage, garantissant que seules les adresses MAC valides sont prises en compte.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!