编程定义的#foreach循环c#
以下是两个例子: 我有一个包含3个项目的阵列:宇宙、行星和大陆 我想使用这样的foreach循环:编程定义的#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
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语句
那么如何通过编程解决这个问题呢
- 动态代码添加
- 递归代码(我没有使用它们的经验)
- 李>
List<Object> items = new List<Object> { Universe, Earth, Continent };
foreach (var item in items) { ... }
List items=新列表{宇宙、地球、大陆};
foreach(项中的变量项){…}
如果外部数组包含的对象各自实现了
IEnumerable
,并且您还需要枚举这些对象,那么您只需要编写额外的嵌套foreach循环。如果看不到您试图解决的问题,就很难提出建议。但是我认为你需要嵌套的foreach
结构的假设是不正确的。如果宇宙
,地球
和大陆
是集合,为什么它们是单数术语?为什么一个地球会有多个地球?一个大陆不可能真的有多个大陆:它有点违背了大陆的定义。好吧,我只是选择了它作为例子,但让我们说行星?它仍然是单数的。这些东西都是收藏品还是什么?请给出一个具体的例子和解释。这个问题看起来与这个问题非常相似:。。。再一次,当你应该为X求一个解决方案时,你需要为Y求一个解决方案()。通过你发布的问题,我认为你可能在为一些非常简单的问题寻找一个解决方案,这些问题由于糟糕的设计决策和/或对语言的理解不足而变得极其复杂