二维数组C#的数组?

时间:2017-09-13 20:10:05

标签: c# arrays

我们可以用这种方式用C#定义一个2D数组吗? 或者任何获得类似数据集的替代方法?

<?php
$app_id = 'com.balintinfotech.sinhalesekeyboardfree';
$response = file_get_contents('https://play.google.com/store/apps/details?hl=en&id='.$app_id);
$response = str_replace("\x00", "", $response);
$crawler = new Symfony\Component\DomCrawler\Crawler($response);
var_dump($crawler->filter('div[itemprop="datePublished"]')->text()); // string(14) "March 14, 2017"

注意:所有三个索引 - a,b和c都是在运行时获得的。

由于

2 个答案:

答案 0 :(得分:8)

你可以这样做,但你必须分别初始化每个2D阵列:

double[][,] testArray = new double[a][,];
for(int i = 0; i < a; i++)
{
    testArray[i] = new double[b, c];
}

另一种方法是声明一个3D数组:

double[,,] testArray3D = new double[a, b, c];

也就是说,如果您想要的每个2D数组具有相同的尺寸,则可以进行更改

答案 1 :(得分:4)

不确定

int[][,] arrayOf2DArrays = 
{
    new int[,] {{1, 2, 3}, {4, 5, 6}},
    new int[,] {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}, {10, 11, 12}},
    new int[,] {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}, {10, 11, 12}, {13, 14, 15}}
};

这本质上是一个一维的锯齿状数组,包含三个不同大小的二维数组。

可以通过以下方式访问元素:

var element = arrayOf2DArrays[0][0, 0]; // etc
Console.WriteLine(element);
在上面的示例中,

..和arrayOf2DArrays.Length将返回3,因为arrayOf2DArrays包含三个二维数组。

  

Jagged Arrays (C# Programming Guide) - MSDN