VB.NET和C#之间的GroupBy差异

4

我正在学习 LINQ 教程,代码是用 C# 编写的。我试着将这些片段翻译成 VB.NET。以下代码在 C# 下可以工作:

var employeeGroups = from employee  in Employee.GetAllEmployees()
                     group employee by employee.Deptartment;

我可以将其翻译为扩展方法。
Dim group1 = Employee.GetAllEmployees.GroupBy(Function(x) x.Department)

这个工作得很好,但是

Dim group = From emp In Employee.GetAllEmployees
            Group emp By emp.Department

我在编译时遇到了“into expected”错误。我没有找到相关的解释,但是是否正确,在vb中必须使用“INTO”,而在c#中不需要?如果是这样,那么我该如何调整我的查询以适应c#等效语法?


我认为代码翻译只需要阅读MSDN文档。SO不是一个代码翻译服务... - Matías Fidemraizer
10
@MatíasFidemraizer表现出了努力,问题在哪里?他说他找不到任何东西,所以请相信他已经尽力了。 - user1017882
你看过这里吗:http://msdn.microsoft.com/zh-cn/library/bb531412.aspx - Michael McGriff
Dim group = From emp In Employee.GetAllEmployees Group By Department = emp.Department Into grp = Group Select grp - Habib
1个回答

5
VB.Net有不同的分组语法。尝试这样做...
From emp In Employee.GetAllEmployees
         Group By Department= emp.Department Into g = Group
         Select g

或者简单点说
From emp In Employee.GetAllEmployees
             Group By Department= emp.Department Into Group

2
你只需要Into Group这个部分,群组别名和简单投影不需要。 - Jeff Mercado
@JeffMercado:感谢您的建议,我会更新我的答案。 - Ramesh Durai
我有可用的代码,并且对C#和VB之间的区别有澄清。这就是我想知道的全部。非常感谢! - ruedi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接