Tip facile facile, ma a qualcuno potrebbe servire.
Supponiamo di avere una lista di stringhe (magari come risultato di una query LINQ) e di voler ottenere una stringa con la concatenazione delle stesse:
Dim list = CreateList()Dim concatStr = (From s In list _Select s).Aggregate(Function(currentString, nextString) currentString + nextString)MessageBox.Show(concatStr)
Il metodo CreateList non ci interessa, in questo momento, ma crea una lista di oggetti String.
Protected Function CreateList() As IEnumerable(Of String)Dim list As String() = {"stringa1", "stringa2", "stringa3", "stringa4", "stringa5"}Return list.AsEnumerable()End Function
Questo metodo potrebbe restituire una qualsiasi lista di oggetti di cui, nella select successiva recuperiamo solo stringhe.
La stessa tecnica è utilizzabile per concatenare stringhe inserendovi un carattere separatore
Dim list = CreateList()Dim separator = ";"Dim concatStr = (From s In list _Select s).Aggregate(Function(currentString, nextString) _currentString + separator + nextString)MessageBox.Show(concatStr)
Attenzione perché Aggregate() non funziona con LINQ to SQL.
Commenti