我不明白一个人的答案

时间:2013-08-12 18:57:23

标签: c#

这是一个奇怪的问题,但在另一个人的答案中,他们在另一个问题中发布了以下内容

try
{
   PingReply reply = pinger.Send(nameOrAddress);
   pingable = reply.Status == IPStatus.Success;
}

pingable = reply.Status == IPStatus.Success;如何运作?对我而言,如果没有if。

,那就像if语句

6 个答案:

答案 0 :(得分:10)

reply.Status == IPStatus.Success 

将返回boolean,该pingable将分配给if变量。

true语句中会发生同样的事情:首先计算表达式,结果为false或{{1}},只有结果将被检查为分支条件。< / p>

答案 1 :(得分:3)

相同
if(reply.Status == IPStatus.Success)
    pingable = true;
else
    pingable = false;

代码

reply.Status == IPStatus.Success

返回插入pingable的布尔值。

答案 2 :(得分:2)

(reply.Status == IPStatus.Success)评估为布尔值true或false

答案 3 :(得分:1)

运算符==始终解析为布尔值

所以

pingable = reply.Status == IPStatus.Success;
如果truepingable相等,

reply.Status放入IPStatus.Success,如果不是false则将pingable放入{{1}}。 / p>

答案 4 :(得分:1)

这是一个条件。 pingable是布尔值。

答案 5 :(得分:0)

pingable(如布尔值)设置为reply.Status等于IPStatus.Sucess