小编Tr1*_*1et的帖子

C# - 为什么Object类没有true运算符?

对不起,如果我的问题似乎很愚蠢.

在C++中,此代码工作:

Foo* foo = new Foo();
if (foo)
    ....;
else
    ....;
Run Code Online (Sandbox Code Playgroud)

在C#中,这不起作用:

Object obj = new Object();
if (obj)
    ....;
else
    ....;
Run Code Online (Sandbox Code Playgroud)

因为Object类不能隐式转换为bool(显然,没有问题),并且它不实现true运算符.

所以我的问题是为什么不Object实现true运算符(只检查它本身是否为空,听起来很容易)?是因为代码可读性还是其他原因?

c# operators

1
推荐指数
2
解决办法
287
查看次数

标签 统计

c# ×1

operators ×1