다음을 통해 공유


CA1814: 다차원 배열보다 가변 배열을 사용하십시오.

TypeName

PreferJaggedArraysOverMultidimensional

CheckId

CA1814

범주

Microsoft.Performance

변경 수준

주요 변경

원인

멤버가 다차원 배열로 선언되었습니다.

규칙 설명

가변 배열의 요소에는 배열이 사용됩니다. 요소를 구성하는 배열의 크기는 서로 다를 수 있습니다. 이 경우 일부 데이터 집합에 대한 공간을 절약할 수 있습니다.

위반 문제를 해결하는 방법

이 규칙 위반 문제를 해결하려면 다차원 배열을 가변 배열로 변경합니다.

경고를 표시하지 않는 경우

다차원 배열을 사용해도 공간이 낭비되지 않는 경우에는 이 규칙에서 경고를 표시하지 마십시오.

예제

다음 예제에서는 가변 배열 및 다차원 배열의 선언을 보여 줍니다.

Imports System

Public Class ArrayHolder
    Private jaggedArray As Integer()() =  {New Integer() {1, 2, 3, 4}, _
                                           New Integer() {5, 6, 7}, _
                                           New Integer() {8}, _
                                           New Integer() {9}}

    Private multiDimArray As Integer(,) =  {{1, 2, 3, 4}, _
                                            {5, 6, 7, 0}, _
                                            {8, 0, 0, 0}, _
                                            {9, 0, 0, 0}}
End Class
using System;

namespace PerformanceLibrary
{
    public class ArrayHolder
    {
        int[][] jaggedArray = { new int[] {1,2,3,4},
                                new int[] {5,6,7},
                                new int[] {8},
                                new int[] {9}
                              };

        int [,] multiDimArray = {{1,2,3,4},
                                 {5,6,7,0},
                                 {8,0,0,0},
                                 {9,0,0,0}
                                };
    }
}