优化此方法c#

优化此方法c#,c#,C#,我有一个方法,基本上看一个变量,如果它的bool IsSelected==true,那么它会将值设置为false,如果不是,则将其设置为true 目前我写的是 if( A.IsSelected) { A.IsSelected = false; } else { A.IsSelected = true; } 可以这样写吗 A.IsSelected = !A.IsSelected 很抱歉,这是一个有点琐碎的问题,我只是想减少我的类中的代码量,我现在无法构建软件来测试它 我知道如果(!A.IsS

我有一个方法,基本上看一个变量,如果它的bool IsSelected==true,那么它会将值设置为false,如果不是,则将其设置为true

目前我写的是

if( A.IsSelected)
{
A.IsSelected = false;
}
else
{
A.IsSelected = true;
}
可以这样写吗

A.IsSelected = !A.IsSelected 
很抱歉,这是一个有点琐碎的问题,我只是想减少我的类中的代码量,我现在无法构建软件来测试它


我知道如果(!A.IsSelected)这样做会反转布尔值,但我不确定这样设置值是否有效。谢谢

是的,这是可能的,而且一直都在做。

就像@Daniel A。怀特指出,这是完全可能的,而且经常做


但是,变量必须是普通的布尔值;它不能为空。如果它是
null
,则表达式将失败。

如果使用运算符,也可以减少代码。

为什么还要问?对您来说,测试该代码非常容易。它应该比打开网络浏览器快,到这里写一个详细的问题。没有即时通讯通过远程桌面在笔记本电脑上共享项目,巨大的延迟和其他人检查错误,所以项目不会生成!不是个好日子。。。感谢所有的快速响应。你可以创建一个小测试项目,看看一个想法是否可行。这时,本地安装开发环境和某种“scratch”项目就很方便了。见鬼,即使像Visual C#Express这样的东西也能很好地处理这些事情。但是,如果有人签入了损坏的代码,让他们修复它,或者恢复他们的变更集。同时,如果您知道哪个变更集破坏了构建,只需抓住它之前的一个变更集,并对其进行处理,然后稍后合并您的变更。三元运算符是一项了不起的发明,只要你仔细考虑一下,但与OP自己的建议相比,它是如何帮助减少代码量的呢?在OP的情况下,它可能不是最好的主意,但它仍然普遍适用于更简单的if-else场景。