gpt4 book ai didi

c# - C# 中的一般多返回语句问题

转载 作者:行者123 更新时间:2023-11-30 13:34:03 24 4
gpt4 key购买 nike

如果我不需要 hit block2,如何返回值。

有没有道理?我想我不应该使用 multi return,但我不能用 break 代替它。 没有可以中断或继续的封闭循环

public EnResult MyFun()
{
bool bRet = default;

// block1 . higher priority than block2.
if (true)
{
// if bRet = true_1, not need hit block2. That's why I want to nested my code with multi *return*
return bRet = true_1;
}
else
{
// do nothing
}

// block2
if (true)
{
return bRet = true_2;
}
else
{
// do nothing
}

return bRet;
}

public enum EnResult
{
true_1,
true_2,
false_1,
false_2,
default,
}

最佳答案

每个方法使用多个返回语句根本不是糟糕的编码风格。在 C 中限制自己使用一个 return 语句是有意义的,在 C 中您可能需要 goto 一些将释放指针等的常见清理代码,然后返回您存储在变量中的值。但在 C# 中,这不是必需的。

我一直在编写带有多个返回语句的方法。我宁愿阅读一个使用多个返回语句编写且逻辑流程清晰的方法,也不愿阅读一个使用一个返回语句编写且逻辑有些困惑的方法。

关于c# - C# 中的一般多返回语句问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4458142/

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