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