在一个延迟加载的属性获取器中看到了这样的东西:
public SomeClass SomeProperty
{
get
{
return _someVar ?? (_someVar = new SomeClass());
}
}
对我来说发生了什么似乎很明显,我只是设法通过使用 C# 多年来没有注意到这会起作用:
int i = 0;
(i = 1).GetType();
我想我的主要问题是,这是否有某种特殊名称可以用来搜索有关它的更多信息/向其他人描述它?我想我很好奇是否有任何与之相关的陷阱(执行顺序等,类似于将多个空合并运算符链接在一起时必须考虑的问题),或者是否有任何其他标准用途这就像上面看到的延迟加载的属性 getter(尽管我认为它与替代方案相比并不是特别干净)。
我几乎很尴尬地发布这个,因为这似乎是一件很难不曾想过/见过的事情,哈哈。提前致谢。