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