C# 为什么VB比C有更多的LINQ关键字?

C# 为什么VB比C有更多的LINQ关键字?,c#,vb.net,linq,C#,Vb.net,Linq,为什么VB比C有更多的LINQ关键字?VB团队决定创建比C团队更多的语言扩展,用于转换为标准查询运算符的关键字。我把这归因于有不同设计目标的不同团队 幸运的是,这两种语言都可以完全访问所有可用的标准查询运算符,因此不会丢失功能。如果我没记错的话,VB.Net和C通过查询语法只能使用的4个关键字是 / / VB.Net添加了这些关键字,因为我们觉得它对我们的用户很有价值。我们设想查询语法是VB.net用户使用LINQ的主要方式,并希望通过该语法启用尽可能多的场景 我不知道C为什么漏掉了这些。我

为什么VB比C有更多的LINQ关键字?

VB团队决定创建比C团队更多的语言扩展,用于转换为标准查询运算符的关键字。我把这归因于有不同设计目标的不同团队


幸运的是,这两种语言都可以完全访问所有可用的标准查询运算符,因此不会丢失功能。

如果我没记错的话,VB.Net和C通过查询语法只能使用的4个关键字是

/ / VB.Net添加了这些关键字,因为我们觉得它对我们的用户很有价值。我们设想查询语法是VB.net用户使用LINQ的主要方式,并希望通过该语法启用尽可能多的场景

我不知道C为什么漏掉了这些。我的猜测是,他们认为这个场景并不能证明成本是合理的,特别是考虑到这个功能仍然可以通过扩展方法使用

编辑添加的聚合和其他一些感谢Dario和Chris

检查您是否有菜单

Tools > Options > Text Editor > C# -> Statment Completation -> Hide advanced members 

未锁定,如果这是检查,则表示您有隐藏的成员。这是VS团队为帮助新手简化任务而创建的。

C中有一个半LINQd到LINQ的关键字,而VB没有。也许你应该列出VB中缺少的“键盘”?聚合及其组合在C中不存在!最让我惊讶的是它的与众不同。。。如此自然地选择不同的流。不要忘记边跳边取While@Chris,是的,我忘了那些。完全合理的推测-我不与您的框架系统同步。核心在所有语言中都是通用的。语言关键字不是成员;此设置对language[上下文]关键字的数量没有任何影响,因此为true。但LinqKeyWorkds是在System.Core上的,这是一个框架中的dll,可以与vb、c或其他语言一起工作。我从不提及关键字always members。而Distinct或Distinct或else则是所有成员。我不喜欢VB程序员,因为我最近几年才从VB迁移到C。。。我推测,这是因为绝大多数VB程序员不会理解收益率的概念,更不用说找到它的用途了,因此包含它的净收益不会超过开发成本,因此对于包含它来说没有很好的商业意义。