CA1814: Preferire matrici di matrici rispetto a matrici multidimensionali
TypeName |
PreferJaggedArraysOverMultidimensional |
CheckId |
CA1814 |
Category |
Microsoft.Performance |
Breaking Change |
Breaking |
Causa
Un membro viene dichiarato come matrice multidimensionale.
Descrizione della regola
Una matrice di matrici è una matrice i cui elementi sono costituiti da matrici. Poiché le matrici che costituiscono gli elementi possono presentare dimensioni diverse, la quantità di spazio inutilizzato sarà inferiore per alcuni insiemi di dati.
Come correggere le violazioni
Per correggere una violazione di questa regola, modificare la matrice multidimensionale in una matrice di matrici.
Esclusione di avvisi
Escludere un avviso da questa regola se la matrice multidimensionale non produce spazio inutilizzato.
Esempio
Nell'esempio riportato di seguito vengono illustrate dichiarazioni per le matrici di matrici e per le matrici multidimensionali.
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}
};
}
}