提前道歉:这个问题来自一个试图学习高级C#的硬核,未经过改造的C++开发人员.考虑以下:
if (myUserDefinedObject != null)
{
myUserDefinedObject.ToString();
}
Run Code Online (Sandbox Code Playgroud)
这显然不是线程安全的.另一方面,我看过两个教程说?(例如,Null条件运算符或'Elvis运算符')
myUserDefinedObject?.ToString();
Run Code Online (Sandbox Code Playgroud)
IS线程安全.除非编译器将[mutex?]锁定在它下面(颤抖),否则我不明白这是怎么回事.如果这个成语是线程安全的,有人可以指点我如何完成它的技术描述?如果它不是线程安全的,那么有没有人有一个实际上说它不是的参考?