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
Patricia Arquetteasal
2025-01-17 01:16:09808semak imbas

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>

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!

Kenyataan:
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