【发布时间】:2015-05-15 18:11:16
【问题描述】:
我无法理解它是如何工作的。
private Person _user;
private Person User
{
get
{
return _user ?? ( _user = GetUser() );
}
}
我第一次引用 User 属性时,_user 为 null,所以它返回 (_user = GetUser())??????
我错过了什么?
【问题讨论】:
-
msdn.microsoft.com/en-us/library/ms173224.aspx 首先仔细阅读。它的目的是检查
_user是否为空,如果是,则在您的情况下返回右侧 (_user = GetUser()) 的值 -
旁注:
Lazy<T>可能是表达延迟初始化的更好方式。 -
@Alexei:应用程序在 Framework 3.5 中。还是谢谢!
-
@JohnSaunders,我认为这不是链接问题的重复,OP 对赋值表达式感到困惑,恕我直言。
-
我肯定不能根据 OP 所说的来判断。
标签: c# operator-keyword