【问题标题】:How to chain Ternary Operators? [closed]如何链接三元运算符? [关闭]
【发布时间】:2020-11-03 05:37:30
【问题描述】:

我在多个条件下根据三元运算符中的值显示不同的数据:

我有这个,

 [attr.data-pendo]="linkedItemType === LinkedItemType.Prospect ? 'pendo-prospects' : 'pendo-loans'"

我需要再添加 1 个条件,

原来是这样的:

 if linkedItemType === LinkedItemType.Prospect then 'pendo-prospects' 
 if linkedItemType === LinkedItemType.Loan then 'pendo-loan' 
 else 'pendo-task'

如何在三元中制作这个?

【问题讨论】:

  • 您发布的所有内容都不像合法的 C#。它看起来有点像 JavaScript(运算符),或者有点像 Python(if 语句表达式周围缺少分隔符)。如果这实际上是一个c# 问题,请以何种方式解释。如果不是 C#,请修复标签。在任何一种情况下,请解释为什么不能使用通常的布尔运算符和组合在三元表达式中添加其他条件。
  • 需要注意的是,将所有内容都推入条件运算符one-liners会降低可读性

标签: c# conditional-operator


【解决方案1】:

就是这样:

linkedItemType == LinkedItemType.Prospect ? "pendo-prospects" : linkedItemType == LinkedItemType.Loan ? "pendo-loan" : "pendo-task";

或者,为了便于阅读,将同一件事分成不同的行:

linkedItemType == LinkedItemType.Prospect ? "pendo-prospects" 
: linkedItemType == LinkedItemType.Loan ? "pendo-loan" 
: "pendo-task";

【讨论】:

    猜你喜欢
    • 2016-01-15
    • 1970-01-01
    • 2020-10-11
    • 2016-08-21
    • 2020-04-14
    • 2015-02-15
    • 2012-10-18
    • 2014-03-18
    • 1970-01-01
    相关资源
    最近更新 更多