参考以下内容SE答案 https://stackoverflow.com/a/446839/799379.
写作时
A = A ?? B;
它是一样的
if( null != A )
A = A;
else
A = B;
这是否意味着
if( null == A ) A = B;
会是首选,性能方面?
或者我可以假设当相同的对象位于??
符号?
不用担心性能,它可以忽略不计。
如果您对此感到好奇,请编写一些代码来测试性能Stopwatch
看看吧。我怀疑你需要进行几百万次迭代才能开始看到差异。
您也永远不能假设事物的实现,它们将来可能会发生变化 - 使您的假设无效。
我的假设是性能差异可能非常非常小。我个人会选择空合并运算符以提高可读性,它很好且简洁,并且足够好地传达了要点。我有时这样做是为了延迟加载检查:
_lazyItem = _lazyItem ?? new LazyItem();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)