CA1814: Verzweigte Arrays mehrdimensionalen Arrays vorziehen
TypeName |
PreferJaggedArraysOverMultidimensional |
CheckId |
CA1814 |
Kategorie |
Microsoft.Performance |
Unterbrechende Änderung |
Breaking |
Ursache
Ein Member ist als mehrdimensionales Array deklariert.
Regelbeschreibung
Ein verzweigtes Array ist ein Array, dessen Elemente wiederum Arrays sind. Die Arrays, die die Elemente bilden, können unterschiedliche Größen haben, was bei einigen Gruppen von Daten dazu führt, dass weniger Speicherplatz vergeudet wird.
Behandeln von Verstößen
Um einen Verstoß gegen diese Regel zu korrigieren, ändern Sie das mehrdimensionale Array in ein verzweigtes Array.
Wann sollten Warnungen unterdrückt werden?
Unterdrücken Sie eine Warnung dieser Regel, wenn das mehrdimensionale Array nicht zu viel Platz beansprucht.
Beispiel
Im folgenden Beispiel werden Deklarationen für verzweigte und mehrdimensionale Arrays veranschaulicht.
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}
};
}
}