在c#中动态存储矩阵值

本文关键字:存储矩阵 动态 | 更新日期: 2023-09-27 17:50:48

我正在尝试在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#中实现这个??

在c#中动态存储矩阵值

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

参考这里

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

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

不能对数组迟赋值。我建议您使用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 });
    }
}

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

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