有没有办法如何将这种格式的字符串(00:15:5D:03:8D:01)中的字符串转换为MacAddress变量?我正在使用PcapDotNet库。
答案 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);