Maison > développement back-end > C++ > Comment puis-je obtenir de manière fiable l'adresse MAC d'une machine en C# sur différents systèmes d'exploitation ?

Comment puis-je obtenir de manière fiable l'adresse MAC d'une machine en C# sur différents systèmes d'exploitation ?

Patricia Arquette
Libérer: 2025-01-17 01:16:09
original
805 Les gens l'ont consulté

How Can I Reliably Get a Machine's MAC Address in C# Across Different Operating Systems?

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

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

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!

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal