CA1814 : Utilisez des tableaux en escalier à la place de tableaux multidimensionnels
TypeName |
PreferJaggedArraysOverMultidimensional |
CheckId |
CA1814 |
Catégorie |
Microsoft.Performance |
Modification avec rupture |
Oui |
Cause
Un membre est déclaré en tant que tableau multidimensionnel.
Description de la règle
Un tableau en escalier est un tableau dont les éléments sont des tableaux.Les tableaux qui composent les éléments peuvent être de différentes tailles, ce qui conduit à un gaspillage d'espace plus restreint pour certains groupes de données.
Comment corriger les violations
Pour corriger une violation de cette règle, changez le tableau multidimensionnel en tableau en escalier.
Quand supprimer les avertissements
Supprimez un avertissement de cette règle si le tableau multidimensionnel ne gaspille pas d'espace.
Exemple
L'exemple suivant présente des déclarations destinées à des tableaux en escalier et multidimensionnels.
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}
};
}
}