Sdílet prostřednictvím


CA1814: Raději zubaté přes vícedimenzionální pole

Název_typu

PreferJaggedArraysOverMultidimensional

CheckId

CA1814

Kategorie

Microsoft.Performance

Změnit rozdělení

Rozdělení

Příčina

Člen je deklarován jako vícedimenzionální pole.

Popis pravidla

Vícenásobné pole je pole, jehož prvky jsou matice.Pole, které tvoří prvky mohou být různě vede k menší nevyužité místo pro některé sady dat.

Jak opravit porušení

Porušení tohoto pravidla opravit, změňte vícedimenzionální pole na vícenásobné pole.

Při potlačení upozornění

Potlačit varování od tohoto pravidla, pokud vícedimenzionální pole odpad není místo.

Příklad

Následující příklad ukazuje prohlášení pro zubaté a multidimenzionální pole.

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