C#将字符串从文本框转换为MacAddress

时间:2017-11-18 15:55:51

标签: c# mac-address pcap.net

有没有办法如何将这种格式的字符串(00:15:5D:03:8D:01)中的字符串转换为MacAddress变量?我正在使用PcapDotNet库。

2 个答案:

答案 0 :(得分:1)

您可以使用string constructor

var macAddress = new MacAddress(textBox1.Text);

正如您从链接的代码中看到的那样,如果您没有传入有效的mac地址,它将抛出异常。您可以在传递之前执行检查:

string mac = textBox1.Text;
var acceptableChars = ":0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";        
if (mac.All(c => acceptableChars.IndexOf(c) != -1) && mac.Count(c => c == ':') == 5 && mac.Length == 17)
{
    var macAddress = new MacAddress(mac);
}
else
{
    // invalid mac
}

这确保所有字符都是:,0-9,af(和AF),并且有6个部分,总长度为17.这将帮助您避免在输入无效的mac时出现异常。< / p>

答案 1 :(得分:0)

只需使用MacAddress的构造函数,它接受一个字符串:

MacAddress address = MacAddress(textbox.Text);

另见: https://github.com/PcapDotNet/Pcap.Net/blob/master/PcapDotNet/src/PcapDotNet.Packets/Ethernet/MacAddress.cs