2013-08-20 24 views
0

下面是两个例子:方案定义#foreach循环C#

我有3项的数组:宇宙,行星和洲 我想使用foreach循环是这样的:

foreach(var universe in Universe) 
    { 
     foreach(var planet in Planet) 
     { 
      foreach(var continent in Continent) 
      { 
       // here comes my code 
       } } } 

在这种情况下数组包含3个元素,因此我需要3个foreach语句。

现在让我们说,我添加2个额外的项目数组(国家和国家) 必须有5个foreach循环。

但是,如果数组包含600项:然后我需要写600的foreach语句...

那么这可怎么编程解决?

  • 动态代码追加?
  • 递归码(我与他们没有经验)
  • ...
+0

如果'Universe','Earth'和'Continent'是集合为什么他们奇异的条款?为什么地球会有多个地球?而一个大陆实际上不可能有多个大陆:它无视了大陆的定义。 –

+0

好的 - 我只是以此为例,但让我们说星球吧? – user2606722

+0

它仍然是单数。这些东西都是收藏品,还是什么?请给出一个具体的例子和解释。 –

回答

1

如果你有一个阵列,以在其三个项目,然后才能通过你应该只需要一个的foreach项枚举循环。

List<Object> items = new List<Object> { Universe, Earth, Continent }; 
foreach (var item in items) { ... } 

你只需要编写额外的嵌套的foreach循环如果外部阵列包含的每个对象本身实现IEnumerable,你需要列举这些孩子的。没有看到你想要解决的问题,很难提出建议。但是,我认为,你需要嵌套foreach结构的假设是不正确。