2010-08-24 12 views

Répondre

18

Si vous savez qu'il est spécifiquement un List<T> et pas un autre type de collection, vous pouvez alors utiliser List<T>.ConvertAll:

convertit les éléments du List<T> actuel à un autre type, et retourne une liste contenant les convertis éléments.

Exemple:

List<string> myObjectNames = myObjectList.ConvertAll(x => x.Name); 

Si vous savez qu'il est un type dénombrable mais pas nécessairement une liste, vous pouvez utiliser les méthodes d'extension LINQ Enumerable<T>.Select et Enumerable<T>.ToList:

List<string> myObjectNames = myObjects.Select(x => x.Name).ToList(); 
+1

Vous devriez probablement mentionner la méthode d'extension Cast? –

+0

La méthode d'extension Cast () fait l'objet écrit dans le titre des questions (comme la conversion d'une liste de chaînes en une liste d'entiers). Mais cela ne correspond pas à l'exemple de la question ... –