【发布时间】:2016-07-28 12:31:25
【问题描述】:
我想知道是否可以在不编写任何循环的情况下创建矩阵。我尝试从一个简单的范围列表开始,但我不知道如何更进一步。
Enumerable.Range(1, 4).ToList()
这里有 3 个循环的代码:
private static int[][] calculPossibleCombinaison(){
int l;
for (int i = 1; i < 5; i++) {
for (int j = 1; j < 5; j++) {
for (int k = 1; k < 5; k++) {
l = (i*j*k)-1;
combinaison[l][0] = i;
combinaison[l][1] = j;
combinaison[l][2] = k;
console.writeline("["+combinaison[l][0]+","+combinaison[l][1]+","+combinaison[l][2]+"]");
}
}
}
return combinaison;
}
这是我的矩阵的结果
[1,1,1] [1,1,2] [1,1,3] [1,2,1] [1,2,2] [1,2,3] [1,3,1] [1,3,2] [1,3,3] [2,1,1] [2,1,2] [2,1,3] [2,2,1] [2,2,2] [2,2,3] [2,3,1] [2,3,2] [2,3,3] [3,1,1] [3,1,2] [3,1,3] [3,2,1] [3,2,2] [3,2,3] [3,3,1] [3,3,2] [3,3,3]
你觉得有可能吗?
非常感谢
【问题讨论】:
-
您需要使用 linq 或 lambda 表达式检查这些链接:*.com/questions/3183626/…; codereview.stackexchange.com/questions/105336/…
-
避免循环有什么意义?即使使用 Linq,您也会在内部使用它们。如果不迭代列表/矩阵/任何东西,就无法遍历所有单元格。
标签: c# ienumerable