Udostępnij za pośrednictwem


CA1814: Wybieraj tablice nieregularne zamiast wielowymiarowych

TypeName

PreferJaggedArraysOverMultidimensional

CheckId

CA1814

Kategoria

Microsoft.Performance

Zmiana kluczowa

Kluczowa

Przyczyna

Element członkowski jest zadeklarowany jako tablica wielowymiarowa.

Opis reguły

Nieregularna tablica to tablica, której elementy są tablicami.Tablice, które tworzą elementy, mogą być różnych rozmiarów, prowadząc do mniejszej zmarnowanej przestrzeni dla niektórych zestawów danych.

Jak naprawić naruszenia

Aby naprawić naruszenie tej reguły, należy zmienić tablicę wielowymiarową na tablicę nieregularną.

Kiedy pominąć ostrzeżenia

Ostrzeżenie dla tej reguły można pominąć, jeśli tablica wielowymiarowa nie marnuje miejsca.

Przykład

W poniższym przykładzie przedstawiono deklaracje tablic nieregularnych i wielowymiarowych.

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