C# 将代码与代码混淆?操作人员
我正在阅读一些人的旧代码,我发现了这一行:C# 将代码与代码混淆?操作人员,c#,C#,我正在阅读一些人的旧代码,我发现了这一行: menuItem.Checked = (menuItem.Checked == false) ? true : false; 我不明白它是做什么的,怎么做的。有什么帮助吗?你的话的意思是: if(menuItem.Checked == false) menuItem.Checked = true; else menuItem.Checked = false; 您的语句实际上是在菜单项上执行切换效果。如果选中了,则语句将其设置为未
menuItem.Checked = (menuItem.Checked == false) ? true : false;
我不明白它是做什么的,怎么做的。有什么帮助吗?你的话的意思是:
if(menuItem.Checked == false)
menuItem.Checked = true;
else
menuItem.Checked = false;
您的语句实际上是在菜单项上执行切换效果。如果选中了
,则语句将其设置为未选中
,反之亦然
来自MSDN
条件运算符(?:)返回两个值之一,具体取决于
布尔表达式的值。下面是
条件运算符.m
它被称为三元运算符。它的用法类似于if-else语句,但更简洁。
它被称为三进制,因为它需要三个操作数。
它计算第一个值,然后选择第二个值(如果为真),第三个值(如果为假)。这是有关它的MSDN文章。它有到其他有用运算符的链接:这是一种复杂的写入方式:
menuItem.Checked = !menuItem.Checked;
此代码可以替换为以下代码:
menuItem.Checked = !menuItem.Checked;
这相当于:
menuItem.Checked = !menuItem.Checked;
它被称为三元运算符,一个简单的谷歌搜索提供了关于它如何工作和可能性的大量信息
看一看:
正如人们已经指出的那样,这只是编写简单if语句的一种更短、更简单的方法。看看
这意味着:
也可以理解为切换菜单项的选中状态。i、 e.menuItem.Checked=!检查菜单项@文强,是的,我相信OP是困惑的?操作人员
menuItem.Checked = !menuItem.Checked;
if(menuItem.Checked == false)
{
menuItem.Checked = true;
}
else
{
menuItem.Checked = false;
}