如何将字符串[](从文本框)转换为IPAddresses的列表或数组?
本文关键字:IPAddresses 转换 列表 数组 字符串 文本 | 更新日期: 2023-09-27 18:17:31
好吧,我不确定如何做到这一点,因为我正在努力自学c#,同时创建一个工作程序。
我正在创建一个Windows窗体c#项目,我有一个文本列表的任何地方从1个IP地址到数千个IP地址在它。当我单击表单上的提交按钮时,我希望它从消息框的内容中创建一个列表,每次一行。
我还想使用系统将列表解析为IP地址数组。Net IPAddress类为每个IP地址的数组。
我得到没有错误,当我使用List List = new List(textBox1.Lines);使用下面的代码:
private void Submit_Button_Click(object sender, EventArgs e)
{
// //Pass Text of TextBox1 to String Array tempStr
List<string> list = new List<string>(textBox1.Lines);
// // Loop through the array and send the contents of the array to debug window.
// for (int counter=0; counter < list.Count; counter++)
// {
// System.Diagnostics.Debug.WriteLine(list[counter]);
// }
this.Hide();
Form2 f2 = new Form2(list);
f2.Show();
}
但是,如果我尝试在这里使用IPAddress解析列表。解析它会引发许多错误。List = new List(IPAddress.Parse(textBox1.Lines));
- 最佳重载方法匹配'System.Net.IPAddress.Parse(string)'有一些无效参数
- 参数1:无法从'string[]'转换为'string'
- 最佳重载方法匹配'System.Collections.Generic.List.List(System.Collections.Generic.IEnumerable)'有一些无效参数
- 参数1:无法从System.Net转换。IPAddress' to 'System.Collections.Generic.IEnumerable'
我的印象是IPAddress.Parse(textBox1.Lines)的最终产品将是每个3字节的4个字符串数组,所以字符串数组不会工作吗?
private void Submit_Button_Click(object sender, EventArgs e)
{
// //Pass Text of TextBox1 to String Array tempStr
List<string[]> list = new List<string[]>(IPAddress.Parse(textBox1.Lines));
// // Loop through the array and send the contents of the array to debug window.
// for (int counter=0; counter < list.Count; counter++)
// {
// System.Diagnostics.Debug.WriteLine(list[counter]);
// }
this.Hide();
Form2 f2 = new Form2(list);
f2.Show();
}
然后我为我的列表尝试了一种不同的变量,它也不起作用。List = new List(textbox . lines);
得到这些错误。1. 'System.Collections.Generic.List.List(System.Collections.Generic.IEnumerable)'的最佳重载方法match有一些无效参数2. 参数1:无法从'string[]'转换为'System.Collections.Generic.IEnumerable'
private void Submit_Button_Click(object sender, EventArgs e)
{
// //Pass Text of TextBox1 to String Array tempStr
List<IPAddress> list = new List<IPAddress>(textBox1.Lines);
// // Loop through the array and send the contents of the array to debug window.
// for (int counter=0; counter < list.Count; counter++)
// {
// System.Diagnostics.Debug.WriteLine(list[counter]);
// }
this.Hide();
Form2 f2 = new Form2(list);
f2.Show();
}
我不能为我的生活弄清楚如何转换这个字符串[]textBox1。对于我的目的,行到一个IPAddress
请帮。
创建一个列表,遍历数组,逐个解析IP地址:
List<IPAddress> addresses = new List<IPAddress>();
foreach (string input in this.textBox1.Lines)
{
IPAddress ip;
if (IPAddress.TryParse(input, out ip))
{
addresses.Add(ip);
}
else
{
Console.WriteLine("Input malformed: {0}", input);
}
}