从列表中获取属性列表
目前我使用foreach
循环来返回object
属性的列表。
class X { List<X> Z = GetXlist(); List<String> r = new List<String>(); foreach (var z in Z) { r.Add(zA); } return r; }
有没有办法可以缩短这个,所以我不必编写foreach
循环?
LINQ是答案。 您可以使用它从对象集合“投影”到另一个集合 – 在这种情况下是对象属性值的集合。
List<string> properties = objectList.Select(o => o.StringProperty).ToList();
你可以使用LINQ:
List<X> Z = GetXlist(); List<String> r = Z.Select(z => zA).ToList(); return r;
要不就,
return GetXlist().Select(z => zA).ToList();
了解更多关于LINQ的信息 。 这非常有用。