为什么这个条件等同于假
本文关键字:等同于 条件 为什么 | 更新日期: 2023-09-27 17:55:21
在此代码的"if"行上有一个断点:
if ((ckbx.Content != null) && (!ckbx.Content.ToString().Contains("(Empty list)")))
{
string groupName = ckbx.Content.ToString();
var contextMenu = new PopupMenu();
contextMenu.Commands.Add(new UICommand("Edit this Group", contextMenuCmd => Frame.Navigate
(typeof(LocationGroupCreator), groupName)));
contextMenu.Commands.Add(new UICommand("Delete this Group", async (contextMenuCmd) =>
{
await SQLiteUtils.DeleteGroupAsync(groupName);
}));
await contextMenu.ShowAsync(args.GetPosition(this));
}
。中新。内容为"(空列表)",但条件被视为 false - 条件失败。为什么?
。中新。内容为"(空列表)",但条件被视为 false - 条件失败。为什么?
您的条件有逻辑否定运算符 ( !
) 否定Contains
的结果:
(!ckbx.Content.ToString().Contains("(Empty list)"))
因此,如果内容包含"(空列表)",Contains
将返回true
,并且!
将使其false
,从而使条件失败。
(ckbx.Content != null)
为真
(!ckbx.Content.ToString().Contains("(Empty list)")
是假的——你刚才说这是空列表......并且这检查不是空列表(感谢前面的"!" - "!" 表示不是)。
当然,真&假等同于假