属性在一台机器上工作正常但它在另一台机器上出错

Goh*_*anP 1 c# properties c#-6.0

我已经得到了这样写的属性代码:

public bool Expanded { get => expanded; set => expanded = value; }
Run Code Online (Sandbox Code Playgroud)

在一台机器上它工作正常但在另一台机器上它全部红色突出显示('并非所有代码路径都返回一个值')

当我像这样重写它时它工作正常:

public bool Expanded
{
    get { return expanded; }
    set { expanded = value; }
}
Run Code Online (Sandbox Code Playgroud)

但我不想重写它.

在两台机器上,我使用.NET Framework 4.7.1

你有什么想法可能有什么不对吗?

Zoh*_*led 6

在c#7.0中添加了表达体性质访问器,在c#6.0中,您只能将表达体用于方法.
自动属性Initializers(int Count {get;} = 1;)不要与表达式身体属性(int Count {get => return 1;})混淆.

来自C#7中的新内容

C#6为成员函数和只读属性引入了表达式成员.
C#7扩展了可以作为表达式实现的允许成员.在C#7中,您可以在属性和索引器上实现构造函数,终结器 以及get和set访问器.

(强调我的)