我想转换以下代码来处理3个以上的foreach级别.
internal static void CreateLevel(LevelObject levelObject)
{
foreach(LevelObject l1 in levelObject.LevelObjects)
{
foreach(LevelObject l2 in l1.LevelObjects)
{
foreach(LevelObject l3 in l2.LevelObjects)
{
AddEntities(l3);
}
AddEntities(l2);
}
AddEntities(l1);
}
}
Run Code Online (Sandbox Code Playgroud)
每个LevelObject都有一个子级对象集合,一组实体和一个父级对象.我需要这个将对象结构转换为过滤器.任何人都知道如何转换这个?
最简单的方法是递归:
internal static void CreateLevel(LevelObject levelObject) {
foreach (var l in levelObject.LevelObjects) {
CreateLevel(l);
AddEntities(l);
}
}
Run Code Online (Sandbox Code Playgroud)