2012-04-27 25 views
5

Calculo que debo usar 'agregado', pero al parecer me estoy haciendo malComo crear una cadena concatenada de una lista de objetos en VB.Net 3,5

En primer lugar consigo una lista de mi Entidad objetos

Dim employers As List(Of myEntity) = (New XXXX()).getZZZ(userName, userType) 

Entonces pensé que sería una manera de poner todos los nombres de una serie

Dim names as String = employers.Aggregate(Function(current, [next]) current.Name & " " & [next].Name) 

pero me sale el error: "no se puede convertir 'expresión lambda' tipo de tipo de parámetro 'System.Func (de myEntity, myEnti ty, myEntity ... "

¿Alguna pista?

+0

¿Estás seguro de que es el problema? Me parece bien. – Ryan

Respuesta

4

probar este lugar:

Dim names = String.Join(" ", employers.Select(Function(employer) employer.Name))

+2

muchas gracias. Eso lo hizo – KevinDeus

0
Dim names as String = employers.Aggregate("", Function(current, [next]) current & " " & [next].Name) 
' Use this        ^^         ^^ 

Es posible que desee recortar la cadena después, ya que comenzará con un espacio.

+0

Respuesta muy apreciada. parece que se puede hacer de esta manera o al estilo de @ Phong. ¿cual es mejor? – KevinDeus

+2

Me gustaría ir con el camino de Phong. –

-1

tratan con:

Dim names as String = employers.Select(Function(emp) emp.Name).Aggregate(Function(current, [next]) current & " " & [next]) 
Cuestiones relacionadas