将一种类型的列表转换为C#3.5中另一种类型的列表

我有一个具有ID和Name属性的对象。

我有一个对象列表,但我想将其转换为包含对象名称的字符串列表。 我猜测有一些花哨的Linq方法会将对象的名称放入列表中。

List myObjectNames = myObjectList.? 

如果你知道它是一个List而不是另一个集合类型,那么你可以使用List.ConvertAll

将当前List的元素转换为另一种类型,并返回包含已转换元素的列表。

例:

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

如果您只知道它是一个可枚举类型但不一定是列表,那么您可以使用LINQ扩展方法Enumerable.Select and Enumerable.ToList

 List myObjectNames = myObjects.Select(x => x.Name).ToList();