簡體   English   中英

如何從列表中獲取特定屬性的值?

[英]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);
}

您可以使用選擇

var properties = listOfA.Select(x=>x.Property2);

或通過查詢語法

    var list = new List<ClassA>();

    var properties = from item in list
                     select 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM