【发布时间】:2012-01-18 20:46:12
【问题描述】:
我正在尝试创建一个允许我 ping IP 地址范围的代码。
我得到 2 个输入。一个是开始范围的地址,另一个是我要 ping 的 IP 范围的结束。然后我拆分一个字符串并将每个字符串的值分配给会改变的变量(a、b、c、d、aa、bb、cc、dd)。
这在逻辑上正确吗?
这是我的代码:
public PingIPRange()
{
InitializeComponent();
txtFrom.Text = "250.250.250.250";
txtTo.Text = "254.254.224.254";
string[] from = txtFrom.Text.Split('.');
string[] to = txtTo.Text.Split('.');
int from1 = a = int.Parse(from[0]);
int from2 = b = int.Parse(from[1]);
int from3 = c = int.Parse(from[2]);
int from4 = d = int.Parse(from[3]);
int to1 = aa = int.Parse(to[0]);
int to2 = bb = int.Parse(to[1]);
int to3 = cc = int.Parse(to[2]);
int to4 = dd = int.Parse(to[3]);
tmrPingInterval.Tick += new EventHandler(tmrPingInterval_Tick);
}
void tmrPingInterval_Tick(object sender, EventArgs e)
{
if (d <= max)
{
if (d == max || d == dd)
{
c++;
d = 0;
}
if (c == max || c == cc)
{
d++;
c = 0;
}
if (b == max || b == bb)
{
c++;
b = 0;
}
if (a == max || a == aa)
{
b++;
a = 0;
}
if ((a == max && b == max && c == max && d == max) || (a == aa && b == bb && c == cc && d == dd))
{
tmrPingInterval.Stop();
}
txtDisplay.Text += a + "." + b + "." + c + "." + d + Environment.NewLine;
d++;
}
txtDisplay.SelectionStart = txtDisplay.Text.Length;
txtDisplay.ScrollToCaret();
}
【问题讨论】:
-
技术上没有,因为你从不声明变量 a、b、c、d、aa、bb、cc、dd
标签: c# winforms if-statement ping