CA1814: Preferir las matrices escalonadas antes que multidimensionales
Nombre de tipo |
PreferJaggedArraysOverMultidimensional |
Identificador de comprobación |
CA1814 |
Categoría |
Microsoft.Performance |
Cambio problemático |
Sí |
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}
};
}
}