为什么!运算符在== false的情况下有效吗?

时间:2019-03-14 07:27:32

标签: c# compiler-errors

我虽然condition == false等同于!( condition ),但是我发现它们的行为与is关键字不同。

当我使用!( condition )时,代码将成功编译:

object instance = "Hello world!";
if( !( instance is string value ) )
{
    throw new InvalidOperationException();
}
Console.WriteLine( value );

但是,如果我使用condition == false

,编译器会引发以下错误
  

CS0165使用未分配的局部变量“值”

enter image description here

object instance = "Hello world!";
if( instance is string value == false )
{
    throw new InvalidOperationException();
}
Console.WriteLine( value );

在这种情况下,condition == false!( condition )之间有什么区别?

0 个答案:

没有答案