110,534
社区成员
发帖
与我相关
我的任务
分享
int index1=3;
int index2=3;
int index3=2;
int index4=4;
int index5=4
int totalStep = 500
for (int i1 = 0; i1 < index1;i1++ )
{
for (int i2 = 0; i2 < index2; i2++)
{
for (int i3 = 0; i3 < index3; i3++)
{
for (int i4 = 0; i4 < index4; i4++)
{
for (int i5 = 0; i5 < index5; i5++)
{
for (int time = 0; time < totalStep; time++)
{
//dosomething
}
}
}
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ForAndFor
{
class Program
{
static void Main(string[] args)
{
int[][] data = new int[][]
{
new int[] { 1, 2, 3 },
new int[] { 4, 5 },
new int[] { 7, 8 },
new int[] { 9 }
};
var query = data[0].Select(x => new int[] { x }).ToList();
foreach (var item in data.Skip(1))
{
query = query.SelectMany(x => item.Select(y => x.Concat(new int[] { y }).ToArray())).ToList();
}
foreach (var item in query)
{
Console.WriteLine(string.Join(", ", item));
}
}
}
}
不好意思,之前用的VS2012,编译器修改了。
在VS2010上使用上面的代码。
if(index1==0||index2==0||index3==0||index4==0||index5==0)
{
return;
}
else
{
// 你的循环代码
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ForAndFor
{
class Program
{
static void Main(string[] args)
{
int[][] data = new int[][]
{
new int[] { 1, 2, 3 },
new int[] { 4, 5 },
new int[] { 7, 8 },
new int[] { 9 }
};
var query = data[0].Select(x => new int[] { x });
foreach (var item in data.Skip(1))
{
query = query.SelectMany(x => item.Select(y => x.Concat(new int[] { y }).ToArray()));
}
foreach (var item in query)
{
Console.WriteLine(string.Join(", ", item));
}
}
}
}