我在以下行的旧代码中找到了:
protected bool[,] PixelsChecked;
[,]
在这里是什么意思? 最佳答案
这是一个二维数组。
在.NET中,您可以使用两种类型的数组,它们不是一维的:
int[,] a; // 2 dimensions
int[,,] b; // 3 dimensions, and so on
int[][] a; // an array of arrays of ints
int[][][] a; // an array of arrays of arrays of ints
在两种情况下,您都需要先初始化变量,然后再使用它。
在第一种情况下,用法也有所不同:
int value = a[1, 2]; // note the comma, and single pair of brackets
在第二种情况下,您需要分别处理每个阵列:
int value = a[1][2]; // the first [1] will return an array, and then you take
// the 3rd element (0-based) of that
还要记住,您可以只用一条语句来初始化多维数组:
int[,] a = new int[10, 20];
而锯齿状数组的单个语句将创建一个充满空引用的单个数组:
int[][] a = new int[10][];
您还需要将该数组的所有元素初始化为其对应的数组引用,这是使用LINQ在一条语句中完成此操作的一种快速方法:
int[][] a = Enumerable.Range(0, 10).Select(new int[20]).ToArray();
// 10 x 20
另请参阅MSDN Page on the subject以获取更多信息。
有趣的事实:与多维数组相比,JITter生成的访问锯齿数组的代码更快,请参见this question以获取更多信息。
关于c# - bool [,]-此语法在C#中是什么意思?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16634527/