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