Привет, ребята, пожалуйста, постарайтесь не добавлять много полезного в комментарии. Предполагается, что комментарии являются незначительными отзывами, а не действительно важной информацией Пожалуйста, отредактируйте соответствующие части в вопросе и / или ответе.
ужно взять коллекцию и сгруппировать ее с помощью Linq, но все примеры, которые я видел, так или иначе терпят неудачу с некоторой разницей в синтаксисе, которую я не могу совсем лизнуть.
Моя коллекция:
Dim a As New List(Of ProcessAlert)
a.Add(New ProcessAlert("000011236,7", "[email protected]", "Alert", 2))
a.Add(New ProcessAlert("0000112367", "[email protected]", "Document", 2))
a.Add(New ProcessAlert("0000112367", "[email protected]", "Note", 2))
a.Add(New ProcessAlert("0000112367", "[email protected]", "Alert", 1))
a.Add(New ProcessAlert("0000112367", "[email protected]", "Document", 1))
a.Add(New ProcessAlert("0000112367", "[email protected]", "Note", 1))
Return a
Мне нужно превратить эту коллекцию в простой способ дать этот конечный результат:
"[email protected]", "Alert, Document, Note"
"[email protected]", "Alert, Document, Note"
Вот определениеProcessAlert
класс:
Public Class ProcessAlert
Public LoanNumber As String
Public EmailAddress As String
Public AlertType As String
Public AlertMethodID As Byte
End Class
Заранее спасибо,
компакт диск
Мне удалось преобразовать в VB:
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())))
Теперь, как мне добавить в группу по LoanNumber и адресу электронной почты, чтобы мои результаты были: «0000112367», «[email protected]», «Предупреждение, Документ, Примечание»