获取MAC地址C#我找到这段获取MAC地址的代码,但是它返回一个不包含':'的长字符串。是否可以添加“:”或拆分字符串并自己添加?这是代码:privateobjectGetMACAddress(){stringmacAddresses="";foreach(NetworkInterfacenicinNetworkInterface.GetAllNetworkInterfaces()){if(nic.OperationalStatus==OperationalStatus.Up){macAddresses+=nic.GetPhysicalAddress().ToString();休息;}}返回macAddresses;它返回值00E0EE00EE00,而我希望它显示类似00:E0:EE:00:EE:00的内容。有任何想法吗?谢谢。我正在使用以下代码以您想要的格式访问mac地址:publicstringGetSystemMACID(){stringsystemName=System.Windows.Forms.SystemInformation.ComputerName;try{ManagementScopetheScope=newManagementScope("\\"+Environment.MachineName+"\root\cimv2");ObjectQuerytheQuery=newObjectQuery("SELECT*FROMWin32_NetworkAdapter");ManagementObjectSearchertheSearcher=newManagementObjectSearcher(theScope,theQuery);ManagementObjectCollectiontheCollectionOfResults=theSearcher.Get();{if(theCurrentObject["MACAddress"]!=null){stringmacAdd=theCurrentObject["MACAddress"].ToString();返回macAdd.Replace(':','-');}}}catch(ManagementExceptione){}catch(System.UnauthorizedAccessExceptione){}returnstring.Empty;您可以使用BitConverter.ToString()方法:varhex=BitConverter.ToString(nic.GetPhysicalAddress().GetAddressBytes());hex.Replace("-",":");使用LINQ只需替换macAddresses+=nic.GetPhysicalAddress().ToString();//生成与macAddresses相同的“00E0EE00EE00”+=String.Join(":",nic.GetPhysicalAddress().GetAddressBytes().Select(b=>b.ToString("X2")).ToArray());//生成“00:E0:EE:00:EE:00”您也可以使用ToString参数,例如,如果您喜欢00:e0:ee:00:ee:00而不是00:E0:EE:00:EE:00那么你只需传递“x2”而不是“X2”您可以使用此代码(使用LINQ):使用System.Net;使用System.Net.NetworkInformation;//....privatestaticstringGetMACAddress(){foreach(NetworkInterfacenicinNetworkInterface.GetAllNetworkInterfaces()){if(nic.OperationalStatus==OperationalStatus.Up)returnAddressBytesToString(nic.GetPhysicalAddress().GetAddressBytes());}返回字符串。空;}privatestaticstringAddressBytesToString(byte[]addressBytes){return(string.":",(frombinaddressBytesselectb.ToString("X2")).ToArray());}functionstringGetSplitedMacAddress(stringmacAddresses){for(intIdx=2;Idx使用GetAddressBytes方法:以上是C#学习教程:获取MAC地址C#分享的所有内容,如果对大家有用需要了解更多C#学习教程,希望大家多多关注---byte[]bytes=address.GetAddressBytes();for(inti=0;i本文收集自网络,不代表立场,如有涉及侵权,请点击维权联系管理员删除,如需转载请注明出处:
