类关联和列表

时间:2010-07-05 09:01:17

标签: c#

我有一点C#问题。我有两个类ClassA和ClassB以这种方式定义:

public class ClassA
{
    private ClassB b;
    ClassB B;
    {
        get { return b; }
        set { b = value; }
    }
}

public class ClassB
{
    /* some stuff */
}

如您所见,ClassA有一个ClassB实例。

问题是,从ClassA实例列表中,我想访问相应ClassB实例的列表。我想它看起来像这样:

IList<ClassA> listA = ...;
IList<ClassB> listB = listA.???.B;

解决方案可能很明显,但我自己无法弄明白。

任何帮助将不胜感激!

4 个答案:

答案 0 :(得分:4)

您可以使用LINQ来执行

IList<ClassB> listB = listA.Select(a => a.B).ToList();

答案 1 :(得分:2)

使用List.ConvertAll():

List<ClassA> listA = ...;
List<ClassB> listB = listA.ConvertAll(item => item.B);

答案 2 :(得分:1)

您可以通过以下方式之一使用LINQ to Objects轻松完成此操作:

var instancesOfClassB = from a in listOfClassA
                        select a.B;

var instancesOfClassB = listOfClassA.Select(a => a.B);

答案 3 :(得分:1)

你可以这样做:

IList<B> listB = listA.ConvertAll(a => a.B);

这很简单,并说它的作用。