Freigeben über


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}
                                };
    }
}