我使用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以来支持三元运算符。
你知道发生了什么吗?
答案 0 :(得分:1)
三元运算符是一个表达式。
您可以在语句中使用它,例如赋值,返回值,参数值等。
这是使用它的一种方式:
using System;
class X
{
public static void Main ()
{
int i = 1;
int j = 2;
int m = (i > j ? j = i : i = j);
}
}