作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我不明白它是如何工作的。
private Person _user;
private Person User
{
get
{
return _user ?? ( _user = GetUser() );
}
}
我第一次引用 User 属性时,_user 为 null,因此它返回 (_user = GetUser())????
我错过了什么?
最佳答案
首先是null-coalescing operator如果不是 null
,则返回左手操作数,否则返回右手操作数。
return _user ?? ( _user = GetUser() );
在 _user
为 null
的情况下,它返回 GetUser
方法返回的内容,并为其设置私有(private)字段。
所以它的工作原理是这样的:
GetUser
返回分配给 _user
_user = GetUser()
) 返回值。 关于C# ??属性(property)运营商,它是如何运作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30266140/
我是一名优秀的程序员,十分优秀!