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
Lepaskan: 2025-01-17 01:21:10
asal
610 orang telah melayarinya

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

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

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!

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