【发布时间】:2019-10-08 13:40:59
【问题描述】:
我调用了两种不同的方法,它们返回了一个不同类型的列表。然后我将这些列表组合成一个数组,从而创建一个包含两种不同类型对象的数组。现在我正在尝试使用foreach 循环遍历该数组,但是对于数组中的每个项目,我需要访问它的唯一属性。有没有办法做到这一点?
List<TypeA> typeAVariable = SomeMethod();
List<TypeB> typeBVariable = AnotherMethod();
var arr = new ArrayList();
arr.AddRange(typeAVariable);
arr.AddRange(typeBVariable);
foreach(var item in arr)
{
if(item.typeOf == typeAVariable)
{
item.typeAVariableProperty;
}
else
{
item.typeBVariableProperty;
}
}
【问题讨论】:
-
为什么需要将它们合并到一个列表中?为什么不使用两个 foreach 循环,每个列表一个?
-
是否需要访问每种类型的多个属性,这些属性是相同类型还是相似类型?
-
@ChetanRanpariya 我想将它们结合起来,这样我就可以使用更少的代码(例如,一个
foreach循环而不是两个)。 -
@Terence 我需要访问每个属性的两个属性。