C#集合并将每个集合的属性值捕获到一个新数组中

C#集合并将每个集合的属性值捕获到一个新数组中,c#,arrays,C#,Arrays,我有一个对象列表,每个对象都有自己的id属性。我需要从存储的对象创建一个ID的icollection。除了在对象列表中循环、获取id值并将其转储到集合中之外,还有什么优雅的方法吗?LINQ是你的朋友:) 当然,这只是对集合进行迭代,但这是您不必自己编写的代码 基本上,每当你发现自己想做“类似这样的事情”——转换、聚合、过滤、展平集合等——你就应该看看LINQ是否能帮到你。LINQ是你的朋友:) 当然,这只是对集合进行迭代,但这是您不必自己编写的代码 基本上,当你发现自己想要做“类似这样的事情”—

我有一个对象列表,每个对象都有自己的id属性。我需要从存储的对象创建一个ID的icollection。除了在对象列表中循环、获取id值并将其转储到集合中之外,还有什么优雅的方法吗?

LINQ是你的朋友:)

当然,这只是对集合进行迭代,但这是您不必自己编写的代码

基本上,每当你发现自己想做“类似这样的事情”——转换、聚合、过滤、展平集合等——你就应该看看LINQ是否能帮到你。

LINQ是你的朋友:)

当然,这只是对集合进行迭代,但这是您不必自己编写的代码

基本上,当你发现自己想要做“类似这样的事情”——转换、聚合、过滤、展平集合等——你应该看看LINQ是否可以帮助你。

使用带有你想要的属性的
Select()
投影来使用LINQ(它将为你进行迭代)怎么样(在您的情况下,只有
Id
):

使用Linq(它将为您执行迭代)如何使用
Select()
投影和您想要的属性(在您的情况下,仅使用
Id
):

林克来救援:

var names=Controls.Select(w=>w.Name).ToArray();     // where this is a form
林克来救援:

var names=Controls.Select(w=>w.Name).ToArray();     // where this is a form
var idCollection = someList.Select(x=> x.Id).ToList();
var names=Controls.Select(w=>w.Name).ToArray();     // where this is a form