如何遍历n维数组? 遍历的话。。foreach就可以了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 本帖最后由 caozhy 于 2014-05-27 10:23:52 编辑 我的表达有点不清楚,应该是二维数组,要把第一维度做笛卡尔积。比如a[1]={1,2,3};a[2]={4,5,6},a[n]={...}。那么我想得{1,4,..},{1,5,..},{1,6,...},{2,4,..},{2,5,..},{2,6,...},{3,4,..},{3,5,..},{3,6,...}这样的结果集。 int[, , ,] data = new int[1, 2, 3, 4];data[0, 1, 2, 3] = 123;IEnumerable<IEnumerable<long>> query = Enumerable.Range(0, data.GetLength(0)).Select(x => new long[] { x });for (int i = 1; i < data.Rank; i++){ query = query.SelectMany(x => Enumerable.Range(0, data.GetLength(i)).Select(y => x.Concat(new long[] { y }))).ToList();}foreach (var item in query){ Console.WriteLine("data[{0}] = {1};", string.Join(",", item), data.GetValue(item.ToArray()));}data[0,0,0,0] = 0;data[0,0,0,1] = 0;data[0,0,0,2] = 0;data[0,0,0,3] = 0;data[0,0,1,0] = 0;data[0,0,1,1] = 0;data[0,0,1,2] = 0;data[0,0,1,3] = 0;data[0,0,2,0] = 0;data[0,0,2,1] = 0;data[0,0,2,2] = 0;data[0,0,2,3] = 0;data[0,1,0,0] = 0;data[0,1,0,1] = 0;data[0,1,0,2] = 0;data[0,1,0,3] = 0;data[0,1,1,0] = 0;data[0,1,1,1] = 0;data[0,1,1,2] = 0;data[0,1,1,3] = 0;data[0,1,2,0] = 0;data[0,1,2,1] = 0;data[0,1,2,2] = 0;data[0,1,2,3] = 123;Press any key to continue . . . 如何实时更新窗体的标题为窗体load的时间? 第三方控件(OCX)多线程如何实例化,用了background组件 tabcontrol中的tabpage如何用鼠标拖动达到tabpage的顺序发生改变 excel导入数据库问题 C# 遭遇灵异事件! DataGridView修改选中行问题? 字符串处理的2个问题。1 (菜问题)C# Socket 问题 vs.net中PrintDocument类可以打印什么格式文档 紧急!sql2005,c#2005与以前版本的兼容问题[难] localhost:3448/(F(O853n3ESeAGL6RinB0Op0IYbBHdBFkFCFbdbYr3L3Y Click once 发布出错,应用程序验证未成功,无法继续解决办法
比如a[1]={1,2,3};a[2]={4,5,6},a[n]={...}。
那么我想得{1,4,..},{1,5,..},{1,6,...},{2,4,..},{2,5,..},{2,6,...},{3,4,..},{3,5,..},{3,6,...}这样的结果集。
data[0, 1, 2, 3] = 123;
IEnumerable<IEnumerable<long>> query = Enumerable.Range(0, data.GetLength(0)).Select(x => new long[] { x });
for (int i = 1; i < data.Rank; i++)
{
query = query.SelectMany(x => Enumerable.Range(0, data.GetLength(i)).Select(y => x.Concat(new long[] { y }))).ToList();
}
foreach (var item in query)
{
Console.WriteLine("data[{0}] = {1};", string.Join(",", item), data.GetValue(item.ToArray()));
}data[0,0,0,0] = 0;
data[0,0,0,1] = 0;
data[0,0,0,2] = 0;
data[0,0,0,3] = 0;
data[0,0,1,0] = 0;
data[0,0,1,1] = 0;
data[0,0,1,2] = 0;
data[0,0,1,3] = 0;
data[0,0,2,0] = 0;
data[0,0,2,1] = 0;
data[0,0,2,2] = 0;
data[0,0,2,3] = 0;
data[0,1,0,0] = 0;
data[0,1,0,1] = 0;
data[0,1,0,2] = 0;
data[0,1,0,3] = 0;
data[0,1,1,0] = 0;
data[0,1,1,1] = 0;
data[0,1,1,2] = 0;
data[0,1,1,3] = 0;
data[0,1,2,0] = 0;
data[0,1,2,1] = 0;
data[0,1,2,2] = 0;
data[0,1,2,3] = 123;
Press any key to continue . . .