gpt4 book ai didi

c# - 仅使用 'else' 语句的 'if-else' 部分是否可以接受?

转载 作者:IT王子 更新时间:2023-10-29 04:31:43 25 4
gpt4 key购买 nike

有时,我觉得检查是否所有条件都为真更容易,但只处理“其他”情况。

我想我有时觉得更容易知道某事是有效的,并假设所有其他情况都无效。

例如,假设我们只在出现问题时才真正关心:

object value = GetValueFromSomeAPIOrOtherMethod();

if((value != null) && (!string.IsNullOrEmpty(value.Prop)) && (possibleValues.Contains(value.prop)))
{
// All the conditions passed, but we don't actually do anything
}
else
{
// Do my stuff here, like error handling
}

或者我应该把它改成:

object value = GetValueFromSomeAPIOrOtherMethod();

if((value == null) || (string.IsNullOrEmpty(value.Prop)) || (!possibleValues.Contains(value.prop)))
{
// Do my stuff here, like error handling
}

或者(我觉得很难看):

object value = GetValueFromSomeAPIOrOtherMethod();

if(!((value != null) && (!string.IsNullOrEmpty(value.Prop)) && (possibleValues.Contains(value.prop))))
{
// Do my stuff here, like error handling
}

最佳答案

虽然对我来说很少见,但有时我觉得在某些情况下以这种形式编写代码会导致最清晰的代码。选择最清晰的形式。编译器不会关心,并且应该生成本质上(可能完全)相同的代码。

不过,定义一个在 if () 语句中分配条件的 bool 变量,然后将您的代码编写为该变量的否定可能会更清楚:

bool myCondition = (....);
if (!myCondition)
{
...
}

关于c# - 仅使用 'else' 语句的 'if-else' 部分是否可以接受?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1473392/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com