数组未正确地从一个类传递到另一个类

时间:2016-08-21 22:55:01

标签: c# winforms

我有2个表单应用程序。一个表单应用程序正在计算值并将它们放入数组中。第二个表单应用程序获取这些值并检查它们,根据它绘制的值。根据调试器,当涉及第二种形式时,2乘2阵列是空的。

实际上,两个名称空间在visual studio中的不同文件中,而using语句都在第二个表单窗口中重复。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;

namespace Rextester
{
    public class Program
    {
        public const int SIZEX = 656;
        public const int SIZEY = 656;
            public static int[,] xinteracting = new int[SIZEX, SIZEY]; //Tells you the points at which it interacts with the different objects

        public static void Main(string[] args)
        {

            xinteracting [0,0] = 1;
            //Your code goes here
            //Console.WriteLine("Hello, world!");
        }
    }
}
/*Second form window represented from here*/
namespace Hello 
{

        public class Yollow
    {
        public static void Main(string[] args)
        {
           Program old = new Program();
            int temp = old.xinteracting[0,0];
            Console.WriteLine( temp);
        }
    }
}

1 个答案:

答案 0 :(得分:0)

在我看来,当你创建类Program的实例时,也会创建xinteracting,但Main方法不会运行,因此你会收到一个空数组。

我的解决方案:

  1. 在类Program =>中创建构造函数设置xinteracting [0,0] = 1;
  2. 因为该数组是静态的,所以您可以直接从任何地方获取/设置值。只需致电Program.xinteracting[0,0] = 1即可设置或var value=Program.xinteracting[0,0];获取