程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#完成獲得MAC地址的辦法

C#完成獲得MAC地址的辦法

編輯:C#入門知識

C#完成獲得MAC地址的辦法。本站提示廣大學習愛好者:(C#完成獲得MAC地址的辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是C#完成獲得MAC地址的辦法正文


本文實例講述了C#完成獲得MAC地址的辦法,是一個異常罕見並且適用的功效,詳細辦法以下:

重要功效代碼以下:

/// <summary>
/// 依據網卡類型來獲得mac地址
/// </summary>
/// <param name="networkType">網卡類型</param>
/// <param name="macAddressFormatHanlder">格局化獲得到的mac地址</param>
/// <returns>獲得到的mac地址</returns>
public static string GetMacAddress(NetworkInterfaceType networkType, Func<string, string> macAddressFormatHanlder)
{
  string _mac = string.Empty;
  NetworkInterface[] _networkInterfaces = NetworkInterface.GetAllNetworkInterfaces();
  foreach (NetworkInterface adapter in _networkInterfaces)
  {
 if (adapter.NetworkInterfaceType == networkType)
 {
   _mac = adapter.GetPhysicalAddress().ToString();
   if (!String.IsNullOrEmpty(_mac))
 break;
 }
  }
  if (macAddressFormatHanlder != null)
 _mac = macAddressFormatHanlder(_mac);
  return _mac;
}
/// <summary>
/// 依據網卡類型和網卡狀況獲得mac地址
/// </summary>
/// <param name="networkType">網卡類型</param>
/// <param name="status">網卡狀況</param>
///Up 收集接口已運轉,可以傳輸數據包。 
///Down 收集接口沒法傳輸數據包。 
///Testing 收集接口正在運轉測試。 
///Unknown 收集接口的狀況未知。 
///Dormant 收集接口不處於傳輸數據包的狀況;它正期待內部事宜。 
///NotPresent 因為缺乏組件(平日為硬件組件),收集接口沒法傳輸數據包。 
///LowerLayerDown 收集接口沒法傳輸數據包,由於它運轉在一個或多個其他接口之上,而這些“低層”接口中至多有一個已封閉。 
/// <param name="macAddressFormatHanlder">格局化獲得到的mac地址</param>
/// <returns>獲得到的mac地址</returns>
public static string GetMacAddress(NetworkInterfaceType networkType, OperationalStatus status, Func<string, string> macAddressFormatHanlder)
{
  string _mac = string.Empty;
  NetworkInterface[] _networkInterfaces = NetworkInterface.GetAllNetworkInterfaces();
  foreach (NetworkInterface adapter in _networkInterfaces)
  {
 if (adapter.NetworkInterfaceType == networkType)
 {
   if (adapter.OperationalStatus != status) continue;
   _mac = adapter.GetPhysicalAddress().ToString();
   if (!String.IsNullOrEmpty(_mac)) break;
 }
  }
  if (macAddressFormatHanlder != null)
 _mac = macAddressFormatHanlder(_mac);
  return _mac;
}
/// <summary>
/// 獲得讀到的第一個mac地址
/// </summary>
/// <returns>獲得到的mac地址</returns>
public static string GetMacAddress(Func<string, string> macAddressFormatHanlder)
{
  string _mac = string.Empty;
  NetworkInterface[] _networkInterfaces = NetworkInterface.GetAllNetworkInterfaces();
  foreach (NetworkInterface adapter in _networkInterfaces)
  {
 _mac = adapter.GetPhysicalAddress().ToString();
 if (!string.IsNullOrEmpty(_mac))
   break;
  }
  if (macAddressFormatHanlder != null)
 _mac = macAddressFormatHanlder(_mac);
  return _mac;
}

有些項目中出於平安斟酌須要獲得MAC地址,然後再斷定MAC地址能否正當才可以上岸。本文總結的辦法願望對年夜家有所贊助!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved