2013-02-13 153 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()}