ホームページ > バックエンド開発 > C++ > 異なるオペレーティング システム間で C# でマシンの MAC アドレスを確実に取得するにはどうすればよいですか?

異なるオペレーティング システム間で C# でマシンの MAC アドレスを確実に取得するにはどうすればよいですか?

Patricia Arquette
リリース: 2025-01-17 01:16:09
オリジナル
805 人が閲覧しました

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

クロスプラットフォーム C# MAC アドレスの取得: 堅牢なアプローチ

マシンの MAC アドレスの取得は、多くのネットワーク関連アプリケーションにとって不可欠です。 ただし、さまざまなオペレーティング システムや言語設定にわたって一貫した結果を達成するには、大きな課題が伴います。この記事では、C# の信頼性が高く効率的なソリューションを提供します。

優れたソリューション

この洗練されたアプローチにより、明確さと信頼性が向上します。

<code class="language-csharp">string macAddress = 
    (
        from nic in NetworkInterface.GetAllNetworkInterfaces()
        where nic.OperationalStatus == OperationalStatus.Up
        select nic.GetPhysicalAddress().ToString()
    ).FirstOrDefault();</code>
ログイン後にコピー

このコードは NetworkInterface.GetAllNetworkInterfaces() を使用してすべてのネットワーク インターフェイスを取得します。ループバック アダプタを除く、アクティブなインターフェイスをフィルタリングします。次に、最初の適切なインターフェイスの MAC アドレスが抽出され、macAddress.

に割り当てられます。

代替方法

柔軟性を高めるには、次の代替案を検討してください。

<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>
ログイン後にコピー

この方法では、前のソリューションと同じフィルタリングが使用されますが、より適応性のある選択基準が提供されます。 たとえば、接続速度や特定の接続タイプ (イーサネットなど) に基づいてインターフェイスに優先順位を付けることができます。

導入メモ

これらのソリューションは、システムの言語に関係なく、Windows XP、Vista、Windows 7 以降のバージョンと互換性があります。 ただし、適切な操作には管理者権限が必要な場合があります。 最適な機能を得るには、管理者権限でアプリケーションを実行することをお勧めします。

以上が異なるオペレーティング システム間で C# でマシンの MAC アドレスを確実に取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート