Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Saya Boleh Mendapatkan Alamat MAC Mesin dalam C# Merentasi Sistem Operasi Berbeza?

Bagaimanakah Saya Boleh Mendapatkan Alamat MAC Mesin dalam C# Merentasi Sistem Operasi Berbeza?

Patricia Arquette
Lepaskan: 2025-01-17 01:16:09
asal
805 orang telah melayarinya

How Can I Reliably Get a Machine's MAC Address in C# Across Different Operating Systems?

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan