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

C# でマシンの MAC アドレスを確実に取得するにはどうすればよいですか?

DDD
リリース: 2025-01-17 01:26:08
オリジナル
880 人が閲覧しました

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

C# でコンピュータの MAC アドレスを確実に取得する

C# でマシンの MAC アドレスを確実に取得することは、OS と言語の不一致により難しい場合があります。 ipconfig /all は解決策のように見えるかもしれませんが、その出力形式はシステムによって異なるため、信頼性が低くなります。

信頼できるアプローチ

より堅牢なメソッドは、C# の NetworkInterface クラスを利用します。これにより、オペレーティング システムや言語に関係なく、一貫した方法で MAC アドレスを取得できます。 その方法は次のとおりです:

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

このコードは、すべてのネットワーク インターフェイスを取得し、アクティブなものをフィルタリングして、その物理アドレス (MAC アドレス) を選択します。 FirstOrDefault() は、最初に見つかった MAC アドレスを返します。

代替実装 (より明示的)

もう少し詳細なアプローチでも同じ結果が得られます。

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

これにより、非アクティブなループバック インターフェイスが明示的に除外され、有効な MAC アドレスのみが考慮されるようになります。

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

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