Maison > développement back-end > C++ > Comment puis-je récupérer de manière fiable l'adresse MAC d'une machine en C# ?

Comment puis-je récupérer de manière fiable l'adresse MAC d'une machine en C# ?

DDD
Libérer: 2025-01-17 01:26:08
original
880 Les gens l'ont consulté

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

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>
Copier après la connexion

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>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal