C# 如何从列表中获取特定属性的值?

C# 如何从列表中获取特定属性的值?,c#,.net,linq,generic-list,C#,.net,Linq,Generic List,我有以下课程: public class ClassA { public string Property1 { get; set; } public string Property2 { get; set; } public string Property3 { get; set; } } 列表中有该类的实例。如何从所有类中获取属性2的值列表 List<ClassA> list = new List<ClassA> { new ClassA {

我有以下课程:

public class ClassA
{
   public string Property1 { get; set; }
   public string Property2 { get; set; }
   public string Property3 { get; set; }
}
列表中有该类的实例。如何从所有类中获取
属性2
值列表

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();
你可以用

或透过:

var list=newlist();
var properties=来自列表中的项
选择item.Property2

要更改
选择(…).ToList()
的“模式”,您还可以使用执行此任务的
列表中现有的方法,即使用几乎相同的代码

// source is your List<ClassA>
var result = source.ConvertAll(item => item.Property2);
// result is already a List<string> so no need for extra code
//源是您的列表
var result=source.ConvertAll(item=>item.Property2);
//结果已经是一个列表,所以不需要额外的代码

以下任何答案是否解决了您的问题?
var properties = listOfA.Select(x=>x.Property2);
    var list = new List<ClassA>();

    var properties = from item in list
                     select item.Property2
// source is your List<ClassA>
var result = source.ConvertAll(item => item.Property2);
// result is already a List<string> so no need for extra code