![](/img/trans.png)
[英]Get the objects with the maximum value for a specific property from a list using LINQ
[英]How to get value of specific property from list?
我有以下課程:
public class ClassA
{
public string Property1 { get; set; }
public string Property2 { get; set; }
public string Property3 { get; set; }
}
List<ClassA>
中有該類的實例。 如何從所有類中獲取Property2
的值的List<string>
?
您可以使用Linq.Select
來這樣做:
List<ClassA> list = new List<ClassA>
{
new ClassA { Property2 = "value 1"},
new ClassA { Property2 = "value 2"},
};
//This is method syntax
var result = list.Select(item => item.Property2).ToList();
//This is query syntax
var result = (from item in list
select item.Property2).ToList();
請記住, ToList()
不是必須的,此處只是為了方便使用此代碼示例
Select
基本上歸結為類似於以下內容:
List<string> response = new List<string>();
foreach(var item in list)
{
response.Add(item.Property2);
}
要從Select(...).ToList()
“模式”中進行更改,您還可以使用List<T>
內部執行此工作的現有方法,即ConvertAll
使用幾乎相同的精確代碼。
// source is your List<ClassA>
var result = source.ConvertAll(item => item.Property2);
// result is already a List<string> so no need for extra code
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.