
Untitled
By: a guest on
Jun 10th, 2012 | syntax:
None | size: 1.44 KB | hits: 25 | expires: Never
Grouping a generic list via LINQ in VB.NET
Dim a As New List(Of ProcessAlert)
a.Add(New ProcessAlert("0000112367", "5551110000@txt.att.net", "Alert", 2))
a.Add(New ProcessAlert("0000112367", "5551110000@txt.att.net", "Document", 2))
a.Add(New ProcessAlert("0000112367", "5551110000@txt.att.net", "Note", 2))
a.Add(New ProcessAlert("0000112367", "jdoe@home.com", "Alert", 1))
a.Add(New ProcessAlert("0000112367", "jdoe@home.com", "Document", 1))
a.Add(New ProcessAlert("0000112367", "jdoe@home.com", "Note", 1))
Return a
"5551110000@txt.att.net", "Alert, Document, Note"
"jdoe@home.com", "Alert, Document, Note"
Public Class ProcessAlert
Public LoanNumber As String
Public EmailAddress As String
Public AlertType As String
Public AlertMethodID As Byte
End Class
Dim res = Alerts.GroupBy(Function(i) i.EmailAddress).Select(Function(g) New KeyValuePair(Of String, String)(g.Key, String.Join(",", g.Select(Function(x) x.AlertType).ToArray())))
var res = a.GroupBy(i=>i.EmailAddress )
.Select(g=> new KeyValuePair<string, string>(
g.Key,
string.Join(",", g.Select(x=> x.AlertType ).ToArray())
));
var res = alerts
.GroupBy(a => new { L = a.LoanNumber, E = a.EmailAddress })
.Select(a => new
{
LoadNumber = a.Key.L,
EmailAddress = a.Key.E,
Types = string.Join(", ", a.Select(x => x.AlertType).ToArray())
}).ToList();