매우 큰 3D 그리드가 필요합니다. 간단히 3D 배열 (예 : T[,,]
)을 만들면 그 그리드에서 사용하지 않은 (3D) 위치가 많이 생겨날 것입니다. 메모리 사용으로 인해 그리드가 얼마나 큰지 멀리 떨어져있을 것입니다 .C# - 3D 배열의 3D 배열
그래서 제 생각에는 각 위치에 하위 3D 그리드가 포함 된 하위 3D 그리드 (일명 청크)의 "속이 빈"3D 그리드를 만드는 것입니다. 비어있는 청크의 경우 해당 청크의 3D 배열은 부모 3D 그리드에 없습니다. 청크가 들어있는 "최상위 수준"그리드는 그 위치 청크에 대한 참조를 포함하는 3 차원 배열이 될 것입니다 T[,,][,,]
가, 또는 덩어리가 비어 null의 경우 :
그래서 나는 유형의 값이 .
제 질문은 : T[,,][,,]
유형의 값을 초기화하는 방법은 무엇입니까? 내가 예를 들어 new T[3,3,3][3,3,3]
을 할 경우, 컴파일러는 소리입니다 :
CS0178 Invalid rank specifier: expected ',' or ']'
감사합니다. 이것은 당신에게
null
값의 3 차원 배열을 제공
T[,,][,,] a = new T[3,3,3][,,];
다음과 같이
는
감사합니다. 구문이 필요합니다. 사전 접근 방식을 고려해 보겠습니다. – Virus721