目前我使用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
循环?
LINQ就是答案。您可以使用它从对象集合“项目”到另一个集合 - 在这种情况下是对象属性值的集合。
List<string> properties = objectList.Select(o => o.StringProperty).ToList();
您可以使用LINQ:
List<X> Z = GetXlist();
List<String> r = Z.Select(z => z.A).ToList();
return r;
要不就,
return GetXlist().Select(z => z.A).ToList();
了解有关LINQ的更多信息。这非常有用。
List properties = objectList.Select(o => o.StringProperty).ToList();
你也可以通过私有重载方法并在LINQ查询中使用它。
谢谢,安舒曼莫汉蒂