루프를 작성하지 않고 행렬을 만들 수 있는지 알고 싶습니다. 나는 범위의 간단한 목록으로 시작하려고하지만 더 멀리가는 방법을 모른다.루프없이 행렬을 만드는 방법
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]
당신이 그것을 가능하다고 생각하십니까 내 행렬의 결과인가?
들으 많은
예를보십시오. 대단히 그렇습니다 – BugFinder
linq 또는 람다 식을 사용해야합니다. 다음 링크를 확인하십시오. http://stackoverflow.com/questions/3183626/convert-nested-for-loops-into-single-linq-statement; http://codereview.stackexchange.com/questions/105336/convert-foreach-loop-into-linq-in-c –
피하는 루프의 요점은 무엇입니까? 심지어 Linq 당신은 내부적으로 그들을 사용했습니다. list/matrix/itter를 반복하지 않고 모든 셀을 처리하는 방법은 없습니다. – HimBromBeere