Pemerolehan Alamat MAC C# Rentas Platform: Pendekatan Teguh
Mendapatkan semula alamat MAC mesin adalah penting untuk banyak aplikasi berkaitan rangkaian. Walau bagaimanapun, mencapai keputusan yang konsisten merentas sistem pengendalian yang pelbagai dan tetapan bahasa memberikan cabaran yang ketara. Artikel ini menyediakan penyelesaian yang boleh dipercayai dan cekap dalam C#.
Penyelesaian Unggul
Pendekatan yang diperhalusi ini menawarkan kejelasan dan kebolehpercayaan yang lebih baik:
<code class="language-csharp">string macAddress = ( from nic in NetworkInterface.GetAllNetworkInterfaces() where nic.OperationalStatus == OperationalStatus.Up select nic.GetPhysicalAddress().ToString() ).FirstOrDefault();</code>
Kod ini menggunakan NetworkInterface.GetAllNetworkInterfaces()
untuk mendapatkan semua antara muka rangkaian. Ia menapis untuk antara muka aktif, tidak termasuk penyesuai gelung balik. Alamat MAC bagi antara muka pertama yang sesuai kemudiannya diekstrak dan diberikan kepada macAddress
.
Kaedah Alternatif
Untuk lebih fleksibiliti, pertimbangkan alternatif ini:
<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>
Kaedah ini menggunakan penapisan yang sama seperti penyelesaian sebelumnya tetapi menawarkan kriteria pemilihan yang lebih boleh disesuaikan. Contohnya, anda boleh mengutamakan antara muka berdasarkan kelajuan sambungan atau jenis sambungan tertentu (cth., Ethernet).
Nota Kerahan
Penyelesaian ini serasi dengan Windows XP, Vista, Windows 7 dan versi yang lebih baru, tanpa mengira bahasa sistem. Walau bagaimanapun, keistimewaan pentadbiran mungkin diperlukan untuk operasi yang betul. Menjalankan aplikasi anda dengan hak pentadbir disyorkan untuk kefungsian optimum.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mendapatkan Alamat MAC Mesin dalam C# Merentasi Sistem Operasi Berbeza?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!