6

我正在尝试在 c#.net 中构建应用程序

这里我有两个相同大小的一维数组例如,我有矩阵 M 和 N ,如下结构:

       M[0] M[1] M[2] M[3] M[4]
 N[0]   
 N[1]
 N[2]
 N[3]
 N[4]

在这里,我为它们分配了 M[0].... & N[0]...... 的值,这样我就得到了一个矩阵,如下所示:

    5     6     4     8
4

8

7

2

注意:我使这个值动态生成。我已经成功到这一步。

但我喜欢以这种格式将值存储在 2x2 矩阵中的另一个数组(可能是锯齿状数组或其他数组)中:

      A[0]  A[1]
 B[0]  5     4       (this is the values of M[0] and N[0])

 B[1]  6     4       (this is the values of M[1] and N[0])

 ..............
 B[4]  5     8       (this is the values of M[0] and N[1])

当 N[0] 的第一行完成时,它必须继续下一行。我只需要一些如何在 C# 中实现它??

4

3 回答 3

2

对于动态存储,您应该了解 2d 和 3d 的基础知识

参考这里

二维数组:dotnetperls.com/2d-array

多维数组: msdn.microsoft.com/en-us/library/2yd9wwz4 (v=vs.71).aspx

于 2013-04-06T11:26:11.347 回答
1

您不能将值后期分配给数组。我建议您使用List<List<int>>,这是一个示例:

List<List<int>> val = new List<List<int>>();
List<int> M = new List<int>() { 1, 2, 3, 4, 5 };
List<int> N = new List<int>() { 5, 4, 3, 2, 1 };

foreach (int m in M)
{
    foreach (int n in N)
    {
        val.Add(new List<int> { m, n });
    }
}
于 2013-01-07T06:44:15.067 回答
1

stackoverflow.com/questions/594853/dynamic-array-in-c-sharp 上面的结帐线程。或查看以下来源。

msdn.microsoft.com/en-us/library/system.collections.arraylist.aspx

于 2013-01-07T06:54:18.167 回答