Share via


CA1814:与多维数组相比,首选使用交错的数组

类型名

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