这里是否有人使用VB.NET并强烈赞成或反对使用IsNothing而不是Is Nothing(例如If IsNothing(anObject)If anObject Is Nothing...)?如果是这样,为什么?

编辑:如果您认为它们都同样可以接受,您是否认为最好选择一个并坚持使用,还是可以将它们混合在一起?

最佳答案

如果在执行MSIL的过程中对其进行观察,您会发现它并没有编译成完全相同的代码。当您使用IsNothing()时,它实际上是对该方法进行调用,而不是仅对表达式求值。

我倾向于使用“什么都不是”的原因是,当我否定它时,它变成了“我不是什么”而不是我个人觉得更易读的“不是不是(对象)”。

10-04 12:18