C#集合,并将每个集合的属性值抓取到一个新数组中
本文关键字:集合 一个 新数组 数组 属性 抓取 | 更新日期: 2023-09-27 18:00:31
我有一个对象列表,每个对象都有自己的id属性。我需要从存储的对象中创建一个id集合。除了循环遍历对象列表、获取id值并将其转储到集合中之外,还有其他优雅的方法吗?
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