2013-02-13 120 views
0

我在将C#中的LINQ查询转换为VB.NET时遇到了一些麻烦。将C#LINQ转换为VB.NET

C#:

from row in Users 
group row by row.Password_tx into Passes 
select new {Password = Passes.Key, Total = Passes.Count()} 

我试图做到这一点在VB.NET,但我并没有多少运气。我知道Into语法有点不同,但我无法解决这个问题。

VB.NET:

from row in Users _ 
group by pass = row.Password_tx into passes = Group _ 
select with {.passes.Key, .passes.Count()} 
+1

试试这个转换器http://www.developerfusion.com/tools/convert/csharp-to-vb/让我知道,如果它帮助:) – 2013-02-13 19:53:19

+0

我想,使这个问题,以前是没有的任何运气与它:( – Cuthbert 2013-02-13 20:07:43

回答

2

这应做到:

From row In Users 
Group By pass = row.Password_tx Into passes = Group 
Select Password = pass, Total = passes.Count 

,这里是我用来确认它的工作示例代码:

Public Class Form1 
    Class User 
    Friend Property Password_tx As String 
    Sub New(pwd As String) 
     Password_tx = pwd 
    End Sub 
    End Class 
    Class Users : Inherits Generic.List(Of User) 
    End Class 

    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load 
    Dim u As New Users 
    u.Add(New User("abc")) 
    u.Add(New User("bcd")) 
    u.Add(New User("abc")) 

    Dim v = From row In u 
      Group By pass = row.Password_tx Into passes = Group 
      Select Password = pass, Total = passes.Count 
    End Sub 
End Class 
0

也许你可以试试这个。

from row in Users _ 
group by pass = row.Password_tx into passes = Group _ 
select New With {.Password = Passes.Key, _ 
       .Total = Passes.Count()}