编程定义的#foreach循环c#

编程定义的#foreach循环c#,c#,foreach,nested,C#,Foreach,Nested,以下是两个例子: 我有一个包含3个项目的阵列:宇宙、行星和大陆 我想使用这样的foreach循环: foreach(var universe in Universe) { foreach(var planet in Planet) { foreach(var continent in Continent) { // here comes my code

以下是两个例子:

我有一个包含3个项目的阵列:宇宙、行星和大陆 我想使用这样的foreach循环:

  foreach(var universe in Universe)
  {
       foreach(var planet in Planet)
       {
             foreach(var continent in Continent)
             { 
                 // here comes my code
              } } }
在本例中,数组包含3个元素,因此我需要3个foreach语句

现在让我们假设我向数组中添加了两个额外的项(国家和州) 必须有5个foreach循环

但是如果数组包含600个项,那么我需要编写600个foreach语句

那么如何通过编程解决这个问题呢

  • 动态代码添加
  • 递归代码(我没有使用它们的经验)

如果一个数组中有三个项,那么为了枚举这些项,您应该只需要一个foreach循环

List<Object> items = new List<Object> { Universe, Earth, Continent };
foreach (var item in items) { ... }
List items=新列表{宇宙、地球、大陆};
foreach(项中的变量项){…}

如果外部数组包含的对象各自实现了
IEnumerable
,并且您还需要枚举这些对象,那么您只需要编写额外的嵌套foreach循环。如果看不到您试图解决的问题,就很难提出建议。但是我认为你需要嵌套的
foreach
结构的假设是不正确的。

如果
宇宙
地球
大陆
是集合,为什么它们是单数术语?为什么一个地球会有多个地球?一个大陆不可能真的有多个大陆:它有点违背了大陆的定义。好吧,我只是选择了它作为例子,但让我们说行星?它仍然是单数的。这些东西都是收藏品还是什么?请给出一个具体的例子和解释。这个问题看起来与这个问题非常相似:。。。再一次,当你应该为X求一个解决方案时,你需要为Y求一个解决方案()。通过你发布的问题,我认为你可能在为一些非常简单的问题寻找一个解决方案,这些问题由于糟糕的设计决策和/或对语言的理解不足而变得极其复杂