从父类列表中获取子类列表

本文关键字:列表 子类 获取 父类 | 更新日期: 2023-09-27 17:55:50

我有 2 个类:

public class Foo
{
    public String Name{get; set;}
    public Bar BarValue {get;set;}
}
public class Bar
{
    public string Value{get; set;}
}

我也有一个List<Foo>.如何从List<Foo>获得List<Bar>

从父类列表中获取子类列表

不完全确定我是否理解您的问题,但是如果我理解了:

据我了解,您有一个Foo的列表,并且您想要这些Foo中的所有Bar对象。

List<Foo> foos = new List<Foo>();    
List<Bar> bars = foos.Select(foo => foo.BarValue).ToList();

即使您没有对 Linq 扩展方法 ( using system.linq; ) 的引用,您仍然可以使用经典方式执行此操作:

List<Foo> foos = new List<Foo>();
List<Bar> bars = new List<Bar>();
foreach (Foo f in foos)
{
    bars.Add(f.BarValue);
}

或者(在文件顶部添加using system.linq;后):

List<Bar> bars = foos.Select(f => f.BarValue).ToList();