【发布时间】:2017-08-16 00:26:08
【问题描述】:
for 循环中的内容本身可以正常工作,但当前循环运行后,PingTimes 列表始终为空。这里发生了什么?在这里对 C# 很陌生。
private void PingTest()
{
List<long> PingTimes = new List<long>();
Ping PingSender = new Ping();
PingOptions options = new PingOptions();
options.DontFragment = true;
string data = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
byte[] buffer = Encoding.ASCII.GetBytes(data);
int timeout = 120;
for (int i = 1; i >= TimesToPing; i++)
{
PingReply reply = PingSender.Send(PingAddress, timeout, buffer, options);
if (reply.Status == IPStatus.Success)
{
PingTimes.Add(reply.RoundtripTime);
}
else
{
MessageBox.Show("Ping test failed due to an unknown reason.");
break;
}
}
MessageBox.Show("Pinged Address: " + PingAddress + "\nAverage Ping: " + PingTimes.Average().ToString() + "ms");
}
【问题讨论】:
-
计算机科学硕士应该真的知道如何使用调试器
标签: c# .net for-loop asynchronous ping