언어 정리/c#

c# int[,]와 int[][]의 차이점

rimugiri 2024. 1. 11. 10:37
728x90

1. int[,]

  • 각 차원이 고정되어 있어 크기를 변경 할 수 없다.
  • 메모리 상에서 연속적으로 배치되어 있다.
  • 배열 상의 모든 행과 열의 크기는 일치해야 한다.
int[,] ex = new int[,]
{
    { 1, 2, 3,},
    { 4, 5, 6,}
};

2. int[][]

  • 각 차원의 배열의 배열로 구현되며 가변 배열이라고 불린다.
  • 각 차원의 크기는 개별적인 크기로 구성될 수 있다.
  • 메모리 상에 연속적으로 배치되어 있지 않다.
int[][] ex = new int[][]
{
    new int[] { 1, 2,},
    new int[] { 3, 4, 5},
    new int[] { 6, 7, 8, 9 }
};

결론

대부분 Temporal Locality와 Spatial Locality가 사용되므로 int[,]가 메모리 사용과 엑세스 속도 관점에서는 사용이 권장된다.

728x90