目前,我使用foreach
循环返回object
属性列表。
class X
{
List<X> Z = GetXlist();
List<String> r = new List<String>();
foreach (var z in Z)
{
r.Add(z.A);
}
return r;
}
有没有办法可以缩短这一点,以便我不必编写foreach
循环?
答案 0 :(得分:123)
LINQ 就是答案。您可以使用它从对象集合“投影”到另一个集合 - 在这种情况下是对象属性值的集合。
List<string> properties = objectList.Select(o => o.StringProperty).ToList();
答案 1 :(得分:7)
您可以使用LINQ:
List<X> Z = GetXlist();
List<String> r = Z.Select(z => z.A).ToList();
return r;
或者只是,
return GetXlist().Select(z => z.A).ToList();
详细了解 LINQ 。 漂亮很有用。
答案 2 :(得分:0)
列表属性= objectList.Select(o => o.StringProperty).ToList();
您也可以使用私有重载方法来做,并在LINQ查询中使用它。
谢谢, 安斯曼·莫汉蒂(Anshuman Mohanty)