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