获取linq中某个属性名称的所有值
本文关键字:属性 linq 获取 | 更新日期: 2023-09-27 18:13:18
有没有办法获取linq中某个键的所有值?
这是我收藏的
[PId,Pname,EnvironmentName]
所以我有一个这种类型的集合,寻找一种更通用的方法,在那里我可以检查属性名称并进行选择。类似
myCollection.SelectMany(item=>item(.Where(item==propertyName(
我该怎么做?
要获得named
属性值的数组,请尝试
var pName = "PId";
var values = myCollection
.Select(x => x.GetType().GetProperty(pName).GetValue(x, null))
.ToArray();
有几种方法可以做到这一点,例如:
var IDs = from o in myCollection
select new { o.PId };
或
var IDs = myCollection.Select(o => o.PId);
我建议你从linq教程开始:http://www.tutorialspoint.com/linq/
using System.Linq;
MyCollection.Select(x => x.Pid).ToArray();
或者获取唯一值
MyCollection.Select(x => x.Pid).Distinct().ToArray();
或者更好的是,一个唯一值的排序数组
MyCollection
.OrderBy(x => x.Pid)
.Select(x = x.Pid)
.Distinct()
.ToArray();