Penyelesaian Merentas Platform untuk Mendapatkan Kembali Alamat MAC dalam C#
Mendapatkan alamat MAC mesin secara konsisten merentas sistem pengendalian yang berbeza adalah sukar kerana variasi dalam output baris arahan dan tetapan bahasa. Artikel ini membentangkan kaedah yang boleh dipercayai dan bebas platform.
Kaedah Boleh Dipercayai: Menggunakan Antaramuka Rangkaian
Pendekatan yang paling boleh dipercayai menggunakan kelas NetworkInterface
. Ini berfungsi secara konsisten merentasi Windows XP, Vista, 7 dan seterusnya, dalam kedua-dua persekitaran 32-bit dan 64-bit, tanpa mengira bahasa sistem.
Contoh Kod
Berikut ialah dua cara untuk melaksanakan perkara ini:
Kaedah 1:
<code class="language-csharp">var macAddr = ( from nic in NetworkInterface.GetAllNetworkInterfaces() where nic.OperationalStatus == OperationalStatus.Up select nic.GetPhysicalAddress().ToString() ).FirstOrDefault();</code>
Kaedah 2 (Lebih Ringkas):
<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>
Kedua-dua kaedah mendapatkan semula alamat MAC dengan berkesan, menjadikannya tersedia untuk digunakan dalam pelbagai aplikasi. Kaedah kedua menambah semakan untuk mengecualikan antara muka gelung balik.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mendapatkan Alamat MAC Mesin dengan Amanah dalam C# Merentasi Platform Berbeza?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!