【发布时间】:2021-07-23 11:16:51
【问题描述】:
我正在尝试学习编程并从基础开始,但无法弄清楚。 我正在尝试使用我的用户输入 var 数量并获取用户输入文本值并在 for 循环中使用它。
class Program
{
static void Main(string[] args)
{
System.Console.WriteLine("URL To ICMP: ");
var url = System.Console.ReadLine();
System.Console.WriteLine("How many times do you want to ping " + url + "?");
var amount = System.Console.ReadLine();
Ping myPing = new Ping();
PingReply reply = myPing.Send(url);
for (int i = 0; i < amount; i = i + 1)
{
System.Console.WriteLine();
if (i = amount)
{
break;
System.Console.WriteLine("\nFinished ICMP");
}
}
}
}
【问题讨论】:
-
Ping部分不应该进入 for 循环吗?毕竟你想重复那个动作特定的次数 -
不应该
if(i=amount)是if(i==amount)吗?使用=,您不会循环太多,因为您将在第一次迭代期间达到退出条件。但是我觉得您的代码不会编译,因为您尝试将int(i) 与string(amount) 进行比较 -
整个 if (i == amount) {...} 毫无意义。 'i' 永远不会等于 'amount' 因为循环仅在 'i' 小于 'amount' 时运行。
-
还有:
amount是string,i是int;他们永远不会平等;考虑int.Parse/int.TryParsestring -
附带说明,如果您在 Windows 服务器上进行开发:曾经调试
Ping可能会使您的服务器崩溃。不确定该错误是否仍然存在,但我发现了困难的方式。