今天是第一次看到我与此类似。为什么要这样做,有什么好处?C#λ变量初始化
Q
C#λ变量初始化
27
A
回答
24
这就是所谓的表达浓郁的属性和它只是只消气特性的快捷方式:
private string m
{
get { return string.Empty; }
}
至于这种做法的好处,我想你可以把它当作语法糖,这只是节省您一些击键。
请参阅
+5
不仅仅是保存按键,而且如果你有很多它们,也更容易阅读 - 不那么混乱。 (也就是说,假设读者熟悉这个语法。) – Bob
5
这实际上并不是一个变量初始化,它将lambda表达式“string.Empty”绑定到“m”,所以无论何时解除引用“m”,它都会实际评估您的lambda表达式。
进一步的阅读检查出this github page(部分“表达健全功能部件”)
12
这不是一个变量,它是一个表达浓郁性。一个只读属性,在你的情况下返回string.Empty
。
这是一样
private string m { get { return string.Empty; } }
它的推出在C#6.0中的新功能之一。好处是更短,更简洁的代码。特别是如果你有一个有很多简单的只读属性的类。
如果您想查看该语法的真实示例,请检查this post on Eric Lippert's blog。正如你所看到的,那里有很多单行方法和属性。如果没有表达式的属性和成员,代码将会更长。其中很大一部分是花括号。
相关问题
- 1. C#初始化变量
- 2. C#:初始化类变量
- 3. C变量未初始化
- 4. 开始C.变量未被初始化
- 5. 初始化向量与变量,C++
- 6. C++类变量:初始化向量与
- 7. C++并初始化常量变量
- 8. 变量初始化(C#和C++)
- 9. 变量初始化?
- 10. 初始化变量
- 11. 初始化变量
- 12. 变量初始化
- 13. 变量初始化
- 14. 初始化变量
- 15. 初始化变量
- 16. 初始化变量
- 17. C++:变量'f'未初始化
- 18. 未初始化的变量故障C++
- 19. 在c中初始化变量#
- 20. C#变量的初始化问题
- 21. C++是静态变量初始化= atomic?
- 22. 初始化变量的函数C
- 23. 默认C变量初始化
- 24. C++ - 成员变量集合初始化
- 25. 静态成员变量初始化C++
- 26. 在C++函数头初始化变量
- 27. C++未初始化变量使用
- 28. 优先于C++初始化变量
- 29. 的Objective-C:初始化变量为零
- 30. C#是否自动初始化变量
请注意,此语法仅在C#6.0语言版本中可用。 –
伟大的新功能,增加更多代码简洁IMO! –