单声道和三元运算符。只有分配,呼叫,增量

时间:2015-04-17 17:10:51

标签: mono

我使用Mono / .NET 4.5,MonoDevelop 5.7.0和Mono 3.12.1(tarball Fri Mar 6 18:53:33 GMT 2015)(64位),OpenSUSE 13.2。

问题是,当我尝试使用三元运算符(?)时,就像在这个简单的情况下一样:

using System;

namespace ternaryTest
{
    class MainClass
    {
        public static void Main(string[] args)
        {
            int i = 1;
            int j = 2;
            i > j ? i = j : j = i;
        }
    }
}

我得到了

/home/lucassith/ternaryTest/ternaryTest/Program.cs(19,19): Error CS0201: Only assignment, call, increment, decrement, await, and new object expressions can be used as a statement (CS0201) (ternaryTest)

我读过自3.8.8以来支持三元运算符。

你知道发生了什么吗?

1 个答案:

答案 0 :(得分:1)

三元运算符是一个表达式。

您可以在语句中使用它,例如赋值,返回值,参数值等。

这是使用它的一种方式:

using System;

class X
{
   public static void Main ()
   {
     int i = 1;
     int j = 2;
     int m = (i > j ? j = i : i = j);
   }
}