数组

时间:2016-03-25 13:13:10

标签: c#

我有以下代码,它在嵌套循环中创建一个2D数组,我想要做的是每次迭代创建这个2D数组,但名称连接到“j”值。例如, 在第一次迭代中,结果将是:double[,] visualmatrix1。 我试图放+ j但它失败了。

ExtractDescriptorsForm ex = new ExtractDescriptorsForm(65,10);
int a = ex.m_maxExtract;
for (int i = 0; i < m_descriptor.visualword.Length; i++)
{
    for (int j = 0; j < a; j++)
    {
        double[,] visualmatrix = new double[m_descriptor.visualword.Length, 2];
        visualmatrix[i, 0] = m_descriptor.visualword[i].identifier;
        visualmatrix[i, 1] = (m_descriptor.visualword[i].tf) * (m_descriptor.visualword[i].idf);
    }
}

1 个答案:

答案 0 :(得分:0)

由于您的代码在循环中丢失了新创建的数组,因此您应该使用列表来存储2D数组。

List<double[,]> arrays = new List<double[,]>();
ExtractDescriptorsForm ex = new ExtractDescriptorsForm(65,10);
int a = ex.m_maxExtract;
for (int i = 0; i < m_descriptor.visualword.Length; i++)
{
    for (int j = 0; j < a; j++)
    {
        double[,] visualmatrix = new double[m_descriptor.visualword.Length, 2];
        visualmatrix[i, 0] = m_descriptor.visualword[i].identifier;
        visualmatrix[i, 1] = (m_descriptor.visualword[i].tf) * (m_descriptor.visualword[i].idf);
        arrays.Add(visualmatrix);
    }
}

然后通过

访问它
arrays[n]