目前我使用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;
}
Run Code Online (Sandbox Code Playgroud)
有没有办法可以缩短这个,这样我就不必编写foreach循环了?
Hon*_*tan 134
LINQ就是答案.您可以使用它从对象集合"投影"到另一个集合 - 在这种情况下是对象属性值的集合.
List<string> properties = objectList.Select(o => o.StringProperty).ToList();
Run Code Online (Sandbox Code Playgroud)
您可以使用LINQ:
List<X> Z = GetXlist();
List<String> r = Z.Select(z => z.A).ToList();
return r;
Run Code Online (Sandbox Code Playgroud)
要不就,
return GetXlist().Select(z => z.A).ToList();
Run Code Online (Sandbox Code Playgroud)
了解有关LINQ的更多信息.这非常有用.