クロスプラットフォーム 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 サイトの他の関連記事を参照してください。