我有一点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;
解决方案可能很明显,但我自己无法弄明白。
任何帮助将不胜感激!
答案 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);
这很简单,并说它的作用。