Acquisition d'adresses MAC C# multiplateforme : une approche robuste
Récupérer l'adresse MAC d'une machine est essentiel pour de nombreuses applications liées au réseau. Cependant, obtenir des résultats cohérents sur différents systèmes d’exploitation et paramètres linguistiques présente un défi de taille. Cet article fournit une solution fiable et efficace en C#.
Une solution supérieure
Cette approche raffinée offre une clarté et une fiabilité améliorées :
<code class="language-csharp">string macAddress = ( from nic in NetworkInterface.GetAllNetworkInterfaces() where nic.OperationalStatus == OperationalStatus.Up select nic.GetPhysicalAddress().ToString() ).FirstOrDefault();</code>
Ce code utilise NetworkInterface.GetAllNetworkInterfaces()
pour obtenir toutes les interfaces réseau. Il filtre les interfaces actives, à l'exclusion des adaptateurs de bouclage. L'adresse MAC de la première interface adaptée est ensuite extraite et attribuée à macAddress
.
Une méthode alternative
Pour plus de flexibilité, envisagez cette alternative :
<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>
Cette méthode utilise le même filtrage que la solution précédente mais propose des critères de sélection plus adaptables. Par exemple, vous pouvez prioriser les interfaces en fonction de la vitesse de connexion ou de types de connexion spécifiques (par exemple, Ethernet).
Notes de déploiement
Ces solutions sont compatibles avec Windows XP, Vista, Windows 7 et versions ultérieures, quelle que soit la langue du système. Cependant, des privilèges administratifs peuvent être nécessaires au bon fonctionnement. Il est recommandé d'exécuter votre application avec des droits d'administrateur pour une fonctionnalité optimale.
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!