【问题标题】:C# syntax shorthand for multiple condition testing [duplicate]多条件测试的 C# 语法简写
【发布时间】:2016-07-05 16:48:54
【问题描述】:

C# 中有哪些语法可以帮助进行多条件测试?

我经常需要通过以下方式测试多个条件:

if (a == 3 || a == 4)

也许我是主观的,但这不是很漂亮。

如果有更多的条件,我可以这样做:

if (new int[]{3, 4, 5, 6, 7}.Contains(a))

但如果只有几个条件需要测试,我不会保存任何击键。

是否有 C# 语言中的语法快捷方式可以让我完成类似以下的操作,而无需多次击键和扩展方法等?

// doesn't work
if (a == 3 || 4)

这与这个 SO 线程不同,因为它处理的是短条件(2 或 3),在“a 与 b 比较”的比较中,所有条件都是不变的“a”值。

【问题讨论】:

  • “我没有保存任何击键” - 保存击键从来都不是一个好的目标。使事情更具可读性或(在验证它是敏感的之后)更高性能是好的目标。
  • @Shachaf.Gortler 谢谢,编辑以解释与您引用的其他 SO 问题的区别。
  • 所以您真的要求语言功能只是用于您只想比较一个小变量的情况病例数?就是这样,在语言功能栏 IMO 的下方。
  • @JonSkeet 你是对的。然而,我认为真正的问题不仅是保存的击键,而且条件的一侧永远不会改变,但是我必须再次重复它,每次我想与确实改变的另一侧进行比较。
  • 您可以编写自己的扩展方法,例如 a.IsAny(3, 4) 来简化您的代码。

标签: c#


【解决方案1】:

没有没有。抱歉,这是你的答案。

【讨论】:

    猜你喜欢
    • 2015-10-03
    • 2015-06-09
    • 2011-09-12
    • 1970-01-01
    • 2014-03-14
    • 1970-01-01
    • 2019-04-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多