C#集合,并将每个集合的属性值抓取到一个新数组中

本文关键字:集合 一个 新数组 数组 属性 抓取 | 更新日期: 2023-09-27 18:00:31

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

C#集合,并将每个集合的属性值抓取到一个新数组中

LINQ是您的朋友:)

List<int> ids = entities.Select(x => x.Id).ToList();

如果必须的话,也可以放入数组(根据问题标题):

int[] ids = entities.Select(x => x.Id).ToArray();

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

基本上,每当你发现自己想做"这样的事情"——转换、聚合、过滤、扁平化等一个集合——你都应该看看LINQ是否能帮助你。

使用Linq(它将为您进行迭代),使用具有所需属性的Select()投影(在您的情况下仅为Id):

var idCollection = someList.Select(x=> x.Id).ToList();

Linq前往救援:

var names=Controls.Select(w=>w.Name).ToArray();     // where this is a form