>任何人都知道如何将 Ping 存储在浮点值中以便稍后我可以在图表中显示它的任何方法。目前在下面的代码中,Pinging仅显示-1,而在文本中显示正确的ping。谢谢
平码
IEnumerator TestPing()
{
var PingTest = new Ping("http://localhost:8081/website/index.php");
pinging = PingTest.time;
while (!PingTest.isDone)
yield return new WaitForSeconds(.1f);
pingText.text = (PingTest.time).ToString() + " ms";
}
似乎您可能想在isDone
之后获得ping时间?
IEnumerator TestPing()
{
var PingTest = new Ping("http://localhost:8081/website/index.php");
while (!PingTest.isDone)
yield return new WaitForSeconds(.1f);
pinging = PingTest.time;
pingText.text = pinging + " ms";
}
PingTest.time
是一个int
- 一个值类型。pinging
是一个float
- 也是一种值类型。 这意味着,当您分配pinging = PingTest.time
时,您将当前值PingTest.time
分配给pinging
,并且无论之后PingTest.time
发生什么情况,除非您更新它,否则pinging
的值都不会更改。
pinging
在 ping 完成后具有PingTest.time
值的值,则必须在 ping 完成后设置它。顺便说一下,您可以使用WaitUntil
:
IEnumerator TestPing()
{
var PingTest = new Ping("http://localhost:8081/website/index.php");
yield return new WaitUntil(()=>PingTest.isDone);
pinging = PingTest.time;
pingText.text = (PingTest.time).ToString() + " ms";
}
顺便说一下,C# 的典型约定是命名camelCase
中的局部变量,例如pingTest
。