我有一个基本上查看变量的方法,如果它的bool IsSelected == true,那么它将值设置为false,如果没有将其设置为true。
目前我写的是
if( A.IsSelected)
{
A.IsSelected = false;
}
else
{
A.IsSelected = true;
}
是否可以像
那样写这个A.IsSelected = !A.IsSelected
很抱歉,这只是一个微不足道的问题,我只是想减少我班上代码的数量而且我不能构建软件来立即测试它。
我知道如果(!A.IsSelected)将反转bool,但我不确定它是否会以这种方式设置值。感谢
答案 0 :(得分:12)
是的,这是可能的,并且一直都在做。
答案 1 :(得分:4)
就像@Daniel A.怀特指出的那样,它完全可能并且经常完成。
但是,变量必须是普通的布尔;它不能 Nullable 。如果它是null
,则表达式将失败。
答案 2 :(得分:1)
如果您使用ternary运算符,也可以减少代码。