Compartir a través de


CA1814: Preferir las matrices escalonadas antes que multidimensionales

TypeName

PreferJaggedArraysOverMultidimensional

Identificador de comprobación

CA1814

Categoría

Microsoft.Performance

Cambio problemático

Problemático

Motivo

Un miembro se declara como una matriz multidimensional.

Descripción de la regla

Una matriz escalonada es una matriz cuyos elementos son matrices.Las matrices que constituyen los elementos pueden ser de tamaños diferentes, reduciendo el espacio desaprovechado para algunos conjuntos de datos.

Cómo corregir infracciones

Para corregir una infracción de esta regla, cambie la matriz multidimensional a una matriz escalonada.

Cuándo suprimir advertencias

Suprima una advertencia de esta regla si la matriz multidimensional no desaprovecha el espacio.

Ejemplo

El ejemplo siguiente muestra las declaraciones para matrices multidimensionales y escalonadas.

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}
                                };
    }
}