在全局变量定义的窗体中我定义了GlobalVariable.dianshu2和GlobalVariable.chishu2变量,然后在A窗体中给这两个全局变量都赋了值,在B窗体的一开始写了
static int dianshu= GlobalVariable.dianshu2;
static int chishu= GlobalVariable.chishu2;
double[,] m_X_ChiXiangCeLiangWeiZhi = new double[chishu,dianshu];
double[,] m_X_ChiXiangXiangDuiWeiZhi = new double[chishu,dianshu];
我用了断点查找错误,发现GlobalVariable.dianshu2=4和GlobalVariable.chishu2=5; 但为什么它们的值是0呢
B当中没有必要再用static修饰了。比如:
class Program
{
static void Main(string[] args)
{
A a = new A();
B b = new B();
Console.Read();
}
}
class G
{
public static int V1 = 99;
}
class A
{
public A()
{
G.V1 +=10;
}
}
class B
{
public B()
{
Console.WriteLine(G.V1);
}
}
打印的结果也是109啊。