为什么VB有比C#更多的LINQ关键字?
答案 0 :(得分:15)
如果我没记错的话,通过查询语法只能使用VB.Net而不是C#的4个关键字
VB.Net添加了这些关键字,因为我们觉得它对我们的用户很有价值。我们设想查询语法是VB.net用户使用LINQ的主要方式,并希望通过语法尽可能多地启用场景。
我不知道为什么C#把它们排除在外。我的猜测是他们认为情景不合理,特别是考虑到该功能仍可通过扩展方法获得。
编辑添加了Aggregate和其他一些人(感谢Dario和Chris!)
答案 1 :(得分:3)
VB团队决定创建比C#团队更多的语言扩展(就转换为标准查询运算符的关键字而言)。我将其归功于具有不同设计目标的不同团队。
幸运的是,这两种语言都可以完全访问所有可用的标准查询运算符,因此不会丢失任何功能。
答案 2 :(得分:0)
检查您是否有菜单
Tools > Options > Text Editor > C# -> Statment Completation -> Hide advanced members
取消选中,如果这是检查意味着您有隐藏的成员。这是由VS团队创建的,用于帮助并简化新手的任务。
答案 3 :(得分:0)
一个关键字是对LINQ的半“LINQ”d,而C#具有VB不具有的yield
。