这个问题可能有些挑剔,但我真的需要明白这一点。编译器错误CS0201
我有以下代码:
string.Equals("0", "1"); //returns false, does compile
和
int i = 1;
i == 0; //should return false, does not compile
第二部分抛出异常
只有分配,调用,递增,递减和新的对象表达可作为声明使用
如documented,至少一个分配(=
),方法调用()
,new
,--
或++
操作必须被调用。
问题:这是不是意味着==
不是一种方法?
您不能将比较'i == 0;'作为单个语句。如果您试图将变量声明为if块的唯一语句,例如'if(true){int i = 0}' –
==确实不是一种方法,它是一个运算符 – nbokmans
'=='是*运算符*。它可以通过自定义类型的方法来支持*,但编译器可以在知道涉及的类型时自由地编译专用代码。 –