【问题标题】:How to use the ternary operator to increment a value如何使用三元运算符来增加一个值
【发布时间】:2013-01-22 20:22:13
【问题描述】:

我希望有人能指出我哪里出错了?我没有太多使用三元运算符的经验,但我觉得这里有充分的理由使用它,因为它减少了代码长度。

但是,我收到了上述错误。谁能看出我哪里出错了?

Colour.R <= 255 ? Colour.R+=10 : Colour.R+=11;

编译器返回

只有赋值、调用、递增、递减和新对象表达式可以用作语句

其中 Color 表示颜色向量。

【问题讨论】:

    标签: c# ternary-operator


    【解决方案1】:

    编译器会准确地告诉您问题所在 - 您不能单独使用条件表达式作为语句。这只是一种表达方式。

    幸运的是,在这种情况下,您不需要这样做。你可以写:

    Colour.R += Colour.R <= 255 ? 10 : 11;
    

    这也有更清晰的好处:)

    (我怀疑你的数字在这里不正确,但那是另一回事。)

    【讨论】:

    • 谢谢。这确实有道理,看起来更清晰。是的,数字不正确。他们只是为了问题的目的而快速输入的。
    猜你喜欢
    • 2013-03-12
    • 2016-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-09
    • 2012-11-09
    • 2019-10-08
    相关资源
    最近更新 更多