Поделиться через


CA1814: используйте ступенчатые массивы вместо многомерных

TypeName

PreferJaggedArraysOverMultidimensional

CheckId

CA1814

Категория

Microsoft.Performance

Критическое изменение

Критическое изменение

Причина

Член объявлен как многомерный массив.

Описание правила

Массив массивов — это массив, элементы которого сами являются массивами.Массивы, которые составляют элементы, могут иметь различные размеры, что позволяет экономить пространство для некоторых наборов данных.

Устранение нарушений

Чтобы устранить нарушение данного правила, преобразуйте многомерный массив в массив массивов.

Отключение предупреждений

Если использование многомерного пространства не приводит к чрезмерному использованию пространства, предупреждения о нарушении данного правила можно отключить.

Пример

В следующем примере демонстрируется объявления массива массивов и многомерного массива.

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