Привет, ребята, пожалуйста, постарайтесь не добавлять много полезного в комментарии. Предполагается, что комментарии являются незначительными отзывами, а не действительно важной информацией Пожалуйста, отредактируйте соответствующие части в вопросе и / или ответе.

ужно взять коллекцию и сгруппировать ее с помощью 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]», «Предупреждение, Документ, Примечание»

Ответы на вопрос(1)

Ваш ответ на вопрос