C# 检索列表<;对象>;列出<;字符串>;

C# 检索列表<;对象>;列出<;字符串>;,c#,list,C#,List,目前,我有一个类似这样的列表:列表 在User类中,我有一个名为UserName的列 我想将此列检索到列表 如果不为列表使用foreach,它如何工作 谢谢。您可以使用LINQ: List<string> userNames = users.Select(u => u.UserName).ToList(); List userNames=users.Select(u=>u.UserName.ToList(); 除了Tim Schmelter post: 要将IEnumerab

目前,我有一个类似这样的
列表
列表

User
类中,我有一个名为
UserName
的列

我想将此列检索到
列表

如果不为
列表
使用
foreach
,它如何工作

谢谢。

您可以使用LINQ:

List<string> userNames = users.Select(u => u.UserName).ToList();
List userNames=users.Select(u=>u.UserName.ToList();

除了Tim Schmelter post:

要将
IEnumerable
转换为
IEnumerable
,可以使用
Cast
of type
方法

这可以写如下:

var userNames = users.Cast<USER>.Select(u => u.UserName).ToList();
var userNames=users.Cast.Select(u=>u.UserName.ToList();

见此:需要注意的是,在内部,这仍然是通过foreach循环解决的。。。但话说回来,这是无法避免的。@Tobberoth:是的,林克当然不会表演魔术;)但是它可以增加可读性,这比几毫秒更重要。哇,非常感谢蒂姆。这大大节省了我的时间。@user3011144:那么你可能想要接受一个答案。