谁能帮我解释下这段代码?

egg27superman 2016-02-29 11:33:15
class TestLazyInitializer2
{
People _people;
public People People
{
get
{

return _people == null
? (_people = new People())
: _people;

}
}

public void Print1()
{
Console.WriteLine(People.Name);
}
public void Print2()
{
Console.WriteLine(People.Name);
}

}

Get里面是在做什么?
...全文
68 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
大鱼> 2016-02-29
  • 打赏
  • 举报
回复
如果_people不存在则new一个,然后返回 不为空则直接返回。
Poopaye 2016-02-29
  • 打赏
  • 举报
回复
3目运算符啊
                return _people == null
                    ? (_people = new People())
                    : _people;
等同于
if(_people == null)
{
    _people = new People();
    return _people;
}
else
{
    return _people;
}

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧