6
foreach (TargetObject innerObject1 in complexObject.InnerObjects) {
foreach (TargetObject innerObject2 in innerObject1.InnerObjects) {
foreach (TargetObject innerObject3 in innerObject2.InnerObjects) {
yield return innerObject3;
}
yield return innerObject2;
}
yield return innerObject1;
}
Bunu nasıl imleç olarak yapabilirim? Bu iç içe geçmiş listelenen sıkışmış TargetObject
tüm örneklerini tek bir listeye toplamalıyım. İşte çalışmayan bir girişim.C# iç içe geçmiş özellik listelerini yinelemeli olarak yineleme
public static IEnumerable<TargetObject> GetRecursively(params TargetObject[] startingObjects)
{
foreach (TargetObject startingObject in startingObjects)
{
foreach (TargetObject innerObject in GetRecursively(startingObject.InnerObjects.ToArray()))
{
yield return innerObject;
}
yield return startingObject;
}
}
güzel: ') – parliament
tek bir nesneyi params parametresine iletebileceğinizi belirterek, dizi durumu her iki durumda da aşırı yüklenmeden çalışacaktır. – parliament
+1 Takım kodu! – Rob