Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# if语句的解释_C# - Fatal编程技术网

C# if语句的解释

C# if语句的解释,c#,C#,我是新来的。看起来下面的代码是C。请解释一下下面的if语句 if ((!csentry.get_Item("UR.Action").get_IsPresent() ? false : csentry.get_Item("UR.Action").get_Value() == "Disable")) if语句基本上是说,如果满足了条件,就这样做。在这种情况下,它的意思是: 如果!csentry.get_项(“UR.Action”).get_IsPresent()?false:csentry.get

我是新来的。看起来下面的代码是C。请解释一下下面的if语句

if ((!csentry.get_Item("UR.Action").get_IsPresent() ? false : csentry.get_Item("UR.Action").get_Value() == "Disable"))

if语句基本上是说,如果满足了条件,就这样做。在这种情况下,它的意思是:

如果
!csentry.get_项(“UR.Action”).get_IsPresent()?false:csentry.get_Item(“UR.Action”).get_Value()
等于
“Disable”
,执行未包含的结果

确实需要更多的信息才能给你准确的答案。但是一旦你意识到它们是如何工作的,如果语句很简单的话。基本格式为:

if (condition) {
   result
}
比如说我必须为一个说“嗨”的人做一个简单的回应程序


它可以分解为以下几点。它的可读性是你的1000倍

var urlAction = csentry["UR.Action"];

if (urlAction.IsPresent && urlAction.Value == "Disable")
{
     // then do stuff
}
注意:请参阅帖子上的评论,了解为什么这可能会造成如此严重的损坏

这些代码经过编译,然后反编译回C# 访问引用的程序集。这经常发生在ILSpy;当你 添加引用的程序集,类型变为可用 属性元数据允许它转换为属性访问


其他资源

)

条件运算符
?:
,通常称为三元条件运算符 运算符,对布尔表达式求值,并返回 计算两个表达式之一,具体取决于 表达式的计算结果为true或false


这里是关于它是否在计算一个三元运算

从一个非常高的层次来看,它看起来像!csentry.get_Item(“UR.Action”).get_IsPresent()如果UR.Action存在,则不会执行if条件。如果不存在,则对该条件进行求值csentry.get_Item(“UR.Action”).get_Value()=“Disable”如果为真,则执行if块,否则不会执行


当您有时间查看更多详细信息时

它的代码可能重复,这些代码已编译,然后反编译回C#,无法访问引用的程序集。这经常发生在ILSpy;当您添加引用的程序集并且类型变为可用时,属性元数据允许它转换为属性访问。我正在考虑这个问题。反编译的代码缺少属性元数据。看我的编辑。@RajatKansal我在听。。。intently@RajatKansal如果你认为这是错误的,我感觉你可能不知道三元运算符是如何工作的。这在功能上与OP的代码相同。虽然将来我建议你解释一下为什么你认为某件事是错的,但是仅仅说它是错的是没有帮助的
var urlAction = csentry["UR.Action"];

if (urlAction.IsPresent && urlAction.Value == "Disable")
{
     // then do stuff
}