C# 中空检查和空条件运算符之间是否存在性能差异?

Flo*_*olf 0 c# performance null-check null-conditional-operator

我想知道这两个 if 语句之间的性能是否存在差异:

if(myObject != null && myObject.someBoolean)
{
    // do something
}

if (myObject?.someBoolean ?? false)
{
    // do something
}
Run Code Online (Sandbox Code Playgroud)

如果性能存在差异,支持哪种方法以及为什么?

编辑: 这不是我的应用程序的瓶颈,我并不是试图过度优化,我只是好奇。

stb*_*kov 5

当代码被编译时,两个 if 语句将是相同的。您可以使用Sharplab.io轻松检查

结果