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 サイトの他の関連記事を参照してください。