2011-08-16 21 views
5

Tôi đang cố gắng chuyển đổi những điều sau đây thành vb.net. Cảm ơn trướcKhông thể chuyển đổi điều này thành 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() }); 

Đây là nơi tôi gặp khó khăn, tôi đã cố gắng hai phương pháp khác nhau nhưng vẫn không có gì hoạt động:

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) 

hoặc

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() } 

Trả lời

0

Hãy thử cách này:

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() _ 
}) 

Lớp đối tượng (Đối tượng mới() {}) khác với loại ẩn danh (Mới có {}).

Bạn có thể sử dụng trang web này trong tương lai: http://www.developerfusion.com/tools/convert/csharp-to-vb/. Nó hoạt động khá tốt cho hầu hết các chuyển đổi.

+0

Cảm ơn Matthieu, phương pháp này đã hoạt động! Tôi sẽ nhớ thử liên kết chuyển đổi của bạn ở trên. – user896917

0

Hãy thử như sau

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()}) 
+0

Cảm ơn bạn JaredPar giải pháp của bạn cũng hoạt động tốt! Mà tôi cũng có thể cung cấp cho bạn dấu kiểm màu xanh lá cây. Cảm ơn :) – user896917

Các vấn đề liên quan