目前我使用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
循环了?
目前我使用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<string> properties = objectList.Select(o => o.StringProperty).ToList();
您也可以通过私有OverLoading
方法执行并在 LINQ 查询中使用该方法。