當前我使用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。這是漂亮有用。
你沒有寫for循環。有一個區別,你應該知道http://programmers.stackexchange.com/questions/178218/for-vs-foreach-vs-linq –