C# 将字符串从文本框转换为 MacAddress
C# Convert string from textbox to MacAddress
有没有办法将这种格式 (00:15:5D:03:8D:01) 的文本框字符串转换为 MacAddress 变量?我正在使用 PcapDotNet 库。
只需使用MacAddress
的构造函数,它接受一个字符串:
MacAddress address = MacAddress(textbox.Text);
您可以使用 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、a-f(和 A-F),并且有 6 个部分且总长度为 17。这将帮助您避免在无效 mac 已输入。
有没有办法将这种格式 (00:15:5D:03:8D:01) 的文本框字符串转换为 MacAddress 变量?我正在使用 PcapDotNet 库。
只需使用MacAddress
的构造函数,它接受一个字符串:
MacAddress address = MacAddress(textbox.Text);
您可以使用 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、a-f(和 A-F),并且有 6 个部分且总长度为 17。这将帮助您避免在无效 mac 已输入。