在 C# if 语句中检查多个布尔条件的最佳方法

2024-03-03

我的代码(C#)中有 3 个布尔值和一个int32取决于布尔值的属性true and false。 除了 if 语句之外,以另一种方式实现此目的的最佳方法是什么:

if(a && b && !c)
   d = 1;
if(a && !b && !c)
   d = 2;
//etc.. ect...

编辑:这 3 个布尔值必须具有设置 int32 值的所有可能组合。

编辑2:对于两个不同的布尔比较,“d”的值可以相同。


最好捕获操作的意图,而不是显式检查布尔值。

例如:

public void Check()
{
   if (HasOrdered())
   {
      // do logic
   }
}

private bool HasOrdered()
{
    return a && !b && !c;
}

private bool HasBooked()
{
    return a && b && !c;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 C# if 语句中检查多个布尔条件的最佳方法 的相关文章

随机推荐

  • CRT 库类型

    我试图更好地掌握 Visual Studio 2013 中的 CRT 库选项 C gt 代码生成 gt 运行时库 以及如何知道选择哪个选项 以及何时更改默认值 From MSDN http support microsoft com en
  • 如何在java应用程序中使用webRTC特定模块

    我有一个简单的java应用程序应用程序客户端可以向服务器发送 接收纯音频 UDP 数据包 服务器将音频数据包转发给除发送者之外的所有人 现在我该如何使用webRTC 回声消除我的应用程序端的模块或其他功能模块 我发现可以使用 JNI 和 w
  • .htaccess 拒绝子文件夹中的文件

    我想阻止对 sub folder index php 的访问 但不阻止对其他任何地方的 index php 的访问
  • 在 Jade 视图中使用 javascript 代码 - if(variable) 显示未定义而不是传递

    所以这是一个反复出现的问题 我还没有找到另一个例子 所以这里是 渲染 Jade 模板时我得到 variableName undefined即使在使用时 if variableName 在模板中 示例 我使用它作为 信息 闪存消息的一部分 i
  • 具有不同 ID 的列的总和?

    我有一个包含多个 ID 的表 需要一个查询来返回每个 ID 的列之和 Calls 表看起来像这样 EmployeeID TypeOfCall InvoiceAmount John NC 50 john NC 100 Joe NC 76 Jo
  • 如何创建我自己的 shell 来替换 e4 RCP 中 MTrimmedWindow 中创建的 shell?

    有没有办法用用户定义的窗口替换 Eclipse RCP 为 MTrimmedWindow 生成的 shell Eclipse 创建一个具有特定样式类型的 shell 该样式类型只能在创建时提供 我想从为 MTrimmedWindow 创建的
  • Compose LazyColumn 选择一项

    我想选择 LazyColumn 的一项并更改文本颜色 如何识别选择了哪个项目 Code val items listOf Pair A 1 Pair AA 144 Pair BA 99 var selectedItem by mutable
  • 如何将 { 和 } 放入格式字符串中[重复]

    这个问题在这里已经有答案了 我试图在运行时生成一些代码 在其中放入一些样板内容 并允许用户输入实际的工作代码 我的样板代码看起来像这样 using System public class ClassName public double Th
  • 为什么有人声称 Java 的泛型实现很糟糕?

    我偶尔听说 Java 在泛型方面做得不太好 最近的参考 here https stackoverflow com questions 457822 what are the things java got right 请原谅我的经验不足 但
  • 具有动态范围和 customOrder excel 的排序宏

    我正在尝试制作一个多级排序宏 而行数是动态的 我一直在摆弄一些测试数据来尝试让它工作 但是我不断从 Excel 中收到 1004 运行时错误 希望第二双眼睛能帮助解决这个问题 这是测试数据 A B C D Num Status Junk J
  • 检查接收者是否拿起电话

    在 Android 中 我需要确定接听电话是否已接听 这似乎不可能 因为 TelephonyManager 不提供该状态 其他人建议查看通话记录列表并检查最后呼叫号码的持续时间 这不太好 因为最后拨打的号码可能是几小时或几天前 还有其他建议
  • 禁用 Webpack 的捆绑

    我想使用 webpack 作为 typescript 构建工具 这样每个 typescript 文件都会被翻译成 1 个 js 文件 webpack 指南有这样的配置 module exports entry app tsx module
  • 带有动画 GIF 的 TGIFImage - 事件不起作用 - 如何检测动画进度?

    德尔福的TGIFImage有以下事件 OnPaint OnAfterPaint OnLoop OnEndPaint 但在显示动画 GIF 时 这些事件都不会被调用 我使用以下代码来显示动画 GIF FGif Image1 Picture G
  • 什么是白名单和黑名单数据?

    我正在阅读有关 XPCOM 组件开发的内容 我遇到了这些称为白名单数据和黑名单数据的术语 我试图在谷歌上查找 但无法找到 我不知道它与编程有何关系 所以如果我把问题放在错误的地方 请原谅我 白名单和黑名单是过滤数据的两种方式 如果您有白名单
  • 回调与 lambda

    假设我有以下代码想要重构 int toFuture precalc int calc 5 foobar x 3 postcalc return calc int toPast precalc int calc 5 foobar y 9 po
  • WPF 4.5 父子行为是否发生了变化:我们现在可以毫无例外地向另一个父级添加一个子级?

    在 Net 4 0 中 以下代码抛出InvalidOperationException与消息 指定的元素已经是另一个元素的逻辑子元素 首先断开它 var parent new System Windows Controls ContentC
  • .gitlab-ci.yml 错误:“apk:找不到命令”

    我有以下内容 gitlab ci yml file image docker services docker dind stages test build deploy test stage test before script apk a
  • 在这种情况下溢出意味着什么?

    我找到了一种以模数相乘的算法 下一个伪代码取自维基百科 页面模指数 部分从右到左的二进制方法 完整的伪代码是 function modular pow base exponent modulus Assert modulus 1 modul
  • Vuetify 没有 vue-cli sass/scss 冲突

    我需要将 vuetify 集成到一个无法使用 vue cli 且具有以下 css sass webpack 配置的项目中 test s ac ss use MiniCssExtractPlugin loader loader css loa
  • 在 C# if 语句中检查多个布尔条件的最佳方法

    我的代码 C 中有 3 个布尔值和一个int32取决于布尔值的属性true and false 除了 if 语句之外 以另一种方式实现此目的的最佳方法是什么 if a b c d 1 if a b c d 2 etc ect 编辑 这 3