Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 什么';用{}vs=>;定义属性之间的区别是什么;?_C# - Fatal编程技术网

C# 什么';用{}vs=>;定义属性之间的区别是什么;?

C# 什么';用{}vs=>;定义属性之间的区别是什么;?,c#,C#,下面的两种语法有区别吗?是否有任何理由认为其中一个比另一个更受欢迎 public string PropertyA { get => throw new NotSupportedException(); } public string PropertyB { get { throw new NotSupportedException(); } } 只是语法上的糖 public string PropertyA => throw new NotSupportedException(

下面的两种语法有区别吗?是否有任何理由认为其中一个比另一个更受欢迎

public string PropertyA { get => throw new NotSupportedException(); }

public string PropertyB { get { throw new NotSupportedException(); } }

只是语法上的糖

public string PropertyA => throw new NotSupportedException();

编译为相同的字节码

表达式体只是创建只读属性的较短方法


我认为在某些情况下它看起来更好,但这是一种风格偏好。

第二个问题是无效的C#FYIDoes问题对你有帮助吗?你的第一个问题实际上还行(尽管仍然是),这两行是一样的。
public string PropertyB { get { throw new NotSupportedException(); } }