CA1814: Preferir irregulares de matrizes multidimensionais
TypeName |
PreferJaggedArraysOverMultidimensional |
CheckId |
CA1814 |
<strong>Categoria</strong> |
Microsoft.Performance |
Alteração significativa |
Quebrando |
Causa
Um membro é declarado como uma matriz multidimensional.
Descrição da regra
Uma matriz denteada é uma matriz cujos elementos são matrizes. As matrizes que compõem os elementos podem ser de diferentes tamanhos, resultando em menos perda de espaço para alguns conjuntos de dados.
Como corrigir violações
Para corrigir uma violação desta regra, altere a matriz multidimensional para uma matriz denteada.
Quando suprimir avisos
Elimina um aviso esta regra se a matriz multidimensional não desperdiçar espaço.
Exemplo
O exemplo a seguir mostra as declarações para arrays irregulares e multidimensionais.
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}
};
}
}