이것은 일반적인 프로그래밍 질문입니다.일반 프로그래밍, 2D 배열, 이중 for 루프에 문제가 있습니까?
2 중 루프를 통해 2 차원 배열을 반복하는 "끔찍한" "못생긴"등의 게시물을 많이 보았습니다 ... 이유가 무엇입니까?
배열은 사전과 비교할 때 효율적인 데이터 구조가 아니며 foreach 또는 다른 대안보다 효율적인 이중 루프도 아닙니다. 또한 2 차원 배열을 사용하는 경우 2 차원 좌표계를 자주 사용합니다. x 및 y 위치는 이미 배열의 인덱스로 데이터 구조에 "내장"되어 있으므로 (예 : 터플을 사전 키로 추가 할 필요가 없음) for 루프 매개 변수를 변경하면 매우 저렴하게 반복 할 수 있습니다 그리드의 다른 부분을 통해 반복적으로 반복하고 싶지 않은 부분은 완전히 무시합니다. 예제는 "외부"행과 열을 방지하기 위해 당신은 당신이 컬렉션의 모든을 반복 한 후이 좌표 범위에 있는지 여부를 확인하기 위해 뭔가를 줄 foreach는 함께 ..
for (int x = 1; x < Grid.GetLength(0)-1; x++)
{
for (int y = 1; y < Grid.GetLength(1)-1; y++)
{
Grid[x,y].DoSomething();
}
}
을 할 수 네가 원해.
모든 요소에 대해 뭔가를 수행하고 있다면 그렇습니다. 특정 요소를 찾으려는 경우 전혀 효율적이지 않습니다. –
이 말을하는 "많은 게시물"중 어떤 예가 있습니까? – Gerrat
아니요, 죄송 합니다만 링크를 유지하지 못했지만 저에게는 반복되는 테마였습니다. 필자는 꽤 많은 게시물을 보았습니다. 또한 제 강사 중 한 명은 coderetreat에서 다차원 배열과 다중 루프를 "더티"로 간주하고 사전, 목록 및 기타 등등의 상위 레벨 구조를 항상 사용하는 것으로 보였습니다. –