无法将 [] 索引应用于表达式类型应用程序.矩阵变量

本文关键字:应用程序 类型 变量 表达式 应用于 索引 | 更新日期: 2023-09-27 18:37:09

编程新手,并试图了解数组和结构。我似乎在阵列上遇到了问题,并且不确定我是否正确执行此操作。

namespace ConsoleApplication1
{    
   public struct MatrixVariables
   {
       public int x, y;
       public MatrixVariables (int lowerV, int upperV)
       {
           x = lowerV;
           y = upperV;
       }
   }
   class Program
   {
       static void Main(string[] args)
       {
           int[,] a = new int[,] { { 0, 1, 1, 0 },{0,0,1,0}, {1,0,1,1}, {1,1,1,1}, {1,0,0,1} };
           int[,] t = new int[,] { { 30, 10, 50, 25, 14 } };
           MatrixVariables upperV = new MatrixVariables();
           MatrixVariables lowerV = new MatrixVariables();
           int maxP = 6;
           int maxV = 6;
           int p = 0;
           int v = 0;
           for (p=0;p<maxP;p++)
           {
               for (v=0; v == maxV;v++)
               {
                   if (a[p,v] ==1)
                   {
                       if (upperV[v] > t[p])
                       {
                           upperV[v] = t[p];
                       }
                   }
               }
           }   
       }
   }
}

无法将 [] 索引应用于表达式类型应用程序.矩阵变量

你声明MatrixVariables upperV = new MatrixVariables();

这与你要求结构的单个大小块int i = new int();没有什么不同。因此,它不能有子部分。

你的结构是UpperV.xUpperV.y的,而不是任何东西的数组。x 和 y 都将为零,因为您还没有调用您的创建者。但是你也没有使用 x 或 y 做任何事情,即使它是一个数组。