我有一个具有ID和Name属性的对象。
我有一个对象列表,但我想将其转换为包含对象名称的字符串列表。 我猜这里有一些花哨的Linq方法会把对象的名字放到列表中。
List<string> myObjectNames = myObjectList.?
答案 0 :(得分:18)
如果您知道它是专门的List<T>
而不是其他收藏类型,那么您可以使用List<T>.ConvertAll
:
将当前
List<T>
中的元素转换为另一种类型,并返回包含已转换元素的列表。
示例:
List<string> myObjectNames = myObjectList.ConvertAll(x => x.Name);
如果您只知道它是一个可枚举类型但不一定是列表,那么您可以使用LINQ扩展方法Enumerable<T>.Select
和Enumerable<T>.ToList
:
List<string> myObjectNames = myObjects.Select(x => x.Name).ToList();