Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Mendapatkan Alamat MAC Mesin dengan Amanah dalam C# Merentasi Platform Berbeza?

Bagaimanakah Saya Boleh Mendapatkan Alamat MAC Mesin dengan Amanah dalam C# Merentasi Platform Berbeza?

Susan Sarandon
Susan Sarandonasal
2025-01-17 01:21:10613semak imbas

How Can I Reliably Obtain a Machine's MAC Address in C# Across Different Platforms?

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!

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