-2

我有这个“如果”声明,但我今天真的搞砸了,想不出如何扭转它变得更好......

if (plist.Exists("No Update Ramdisk") && plist.Get<PlistBool>("No Update Ramdisk").Value)
{
}
else
{
    ...
}

只是为了让您不要问 plist 是什么,我在 .NET 中编写了一个 plist 解析器,我正在扫描它的值

4

2 回答 2

5

你至少有三种可能

  • 交换 THEN 和 ELSE 块
  • 反转条件if (! A)
  • 使用德摩根(A && B) == !(!A || !B)

http://en.wikipedia.org/wiki/De_Morgan%27s_laws

于 2012-04-28T19:42:49.817 回答
4

要反转*,true表达式应该是false; 和and运营商应该是or):

if (!plist.Exists("No Update Ramdisk") 
    || !plist.Get<PlistBool>("No Update Ramdisk").Value)
{
    ...
}

*假设Get<PlistBool>("No Update Ramdisk").Valuebool.

于 2012-04-28T19:31:01.523 回答