gpt4 book ai didi

C# boolean 操作来检测任何错误返回

转载 作者:太空狗 更新时间:2023-10-30 00:15:03 27 4
gpt4 key购买 nike

我想写类似下面的东西......

bool hasAnyInvalid = false;
hasAnyInvalid |= IsValidType1(...);
hasAnyInvalid |= IsValidType2(...);
hasAnyInvalid |= IsValidType3(...);
hasAnyInvalid |= IsValidType4(...);

if (hasAnyInvalid){ return false; }

据我所知,上面的代码会失败,因为 true |真就是假。

如何使用一个 boolean 变量来测试多个函数是否为假?

我需要评估每个 IsValidType 函数。所以我不能将它短路。

基本上,我想要一个逻辑门,一旦它变为真,它就保持为真。我似乎记得过去在 C++ 中执行此操作并返回 HRESULT,但我们可能只是将严重性的整数值相加。

我对解决此问题的其他方法持开放态度。

编辑:我对这个问题的措辞不当,并且包含了一些逻辑困惑(我打算将其写成异或)。我将把我原来的问题留在上面,因为人们专门对此发表了评论,我不想改变历史。

最佳答案

如果你想检测单个false,你需要使用&,而不是|:

bool allValid = true; // Start it with "true"
allValid &= IsValidType1(...); // The first "false" will make "allValid" false
allValid &= IsValidType2(...);
allValid &= IsValidType3(...);
allValid &= IsValidType4(...);
if (!allValid) { // Invert "allValid" before returning
return false;
}

关于C# boolean 操作来检测任何错误返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17615656/

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