Java等价于C#数组声明的private static double[,][]_temp=null;

本文关键字:null temp double 数组 等价于 声明 static private Java | 更新日期: 2023-09-27 18:27:22

我有这个C#代码:

private static double[,][] _temp = null;

我想我以前从未使用过带逗号的数组声明。我想这是锯齿状阵列的变体。有人能确认C#代码的作用吗?另外,有人知道它在Java中的等效代码是什么吗?

Java等价于C#数组声明的private static double[,][]_temp=null;

这是二维数组吗?

private static double[][] temp = null;

编辑:

三维:

private static double[][][] temp = null;

这将是一个固定大小的二维数组的数组固定大小(而不是锯齿状)的二维数组

[,]是一个矩形阵列(不是锯齿状)。(用一个逗号,2D。)重点是获得比通常的Java数组(可能是锯齿状的)更好的性能。您可以通过一点算术和取消引用一个指针来定位元素,而不是取消引用两个指针和更少的算术。不确定它是否对小型阵列有帮助——可能会造成伤害——但对于大型阵列,[,]可能会提供更好的缓存性能。在带有阵列处理器的机器上也会有很大帮助。(有些人仍然使用FORTRAN,因为它在使用数组处理器的机器上处理数组非常好。)C#倾向于添加特殊的东西来获得类似的小奖金或大奖金。Java试图保持简单,即使它花费了一些钱。

然后,另一个[]为您提供了一个可能由非锯齿状数组组成的锯齿状数组,就像在Java中一样。

根据这个网站,[]中的逗号就像在C#中声明一个二维数组。在你的例子中,它是一个由二维数组组成的数组。