Java相当于私有静态double [,] [] _temp = null的C#数组声明;

时间:2012-03-09 21:35:36

标签: c# java arrays

我有这个C#代码:

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

我认为我以前从未使用过包含逗号的数组声明。我假设它是锯齿状阵列的一些变体。任何人都可以确认C#代码的作用吗?另外,有人知道Java中的等效代码是什么吗?

4 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

这是一个二维数组吗?

private static double[][] temp = null;

编辑:

三维:

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

答案 2 :(得分:1)

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

然后另一个[]给你一个可能参差不齐的非锯齿数组,就像在Java中一样。

答案 3 :(得分:0)

根据这个site,[]里面的逗号就像在C#中声明一个双维数组。所以在你的情况下,它是一个双维数组的数组。