无法将其转换为VB.net

use*_*917 5 c# linq vb.net c#-to-vb.net

我正在尝试将以下内容转换为vb.net.提前致谢

   Categories.DataSource = objDT.Rows.Cast<DataRow>()
        .Select(r => new { Attendee = r.Field<string>("Attendee"), Item = r.Field<string>("Item") })
        .GroupBy(v => v.Attendee)
        .Select(g => new { Attendee = g.Key, Item = g.ToList() });
Run Code Online (Sandbox Code Playgroud)

这是我卡住的地方,我尝试了两种不同的方法,但仍然无效:

Categories.DataSource = objDT.AsEnumerable() _
    .Select(Function(r) New With {.Attendee = r.Field(Of String)("Attendee"), .Item = r.Field(Of String)("Item")}) _
    .GroupBy(Function(v) v.Field(Of String)("Attendee")) _
    .Select(Function(g) Attendee = g.Key)
Run Code Online (Sandbox Code Playgroud)

要么

Categories.DataSource = objDT.Rows.Cast(Of DataRow)().AsEnumerable _
    .Select New Object(){ Function(r As DataRow) Attendee = r.Field(Of String)("Attendee"), Item = r.Field(Of String)("Item")} _
.GroupBy( Function(v) v.Category) _
.Select( Function(g) new { Category = g.Key, Numbers = g.ToList() }
Run Code Online (Sandbox Code Playgroud)

Mat*_*ieu 1

尝试这个 :

  Categories.DataSource = objDT.Rows.Cast(Of DataRow)().Select(Function(r) New With { _
 .Attendee = r.Field(Of String)("Attendee"), _
 .Item = r.Field(Of String)("Item") _
}).GroupBy(Function(v) v.Attendee).Select(Function(g) New With { _
 .Attendee = g.Key, _
 .Item = g.ToList() _
})
Run Code Online (Sandbox Code Playgroud)

对象类(New Object() With {})与匿名类型(New With {})不同。

您将来可以使用此网站:http://www.developerfusion.com/tools/convert/csharp-to-vb/。它对于大多数转换都非常有效。