C# 静态变量未立即初始化
并尝试:C# 静态变量未立即初始化,c#,.net,winforms,C#,.net,Winforms,并尝试: public class variables { public static int edit{ get;set; } } 使用表单 public static int edit = 0; public static int edit { get; set; } public static int edits { get { return edit; } } 在所有情况下,该消息至少返回了一次调用。我需要知道如何使值作为第一步初始化。我必须使用多个变量,这些变量将数据
public class variables {
public static int edit{ get;set; }
}
使用表单
public static int edit = 0;
public static int edit { get; set; }
public static int edits { get { return edit; } }
在所有情况下,该消息至少返回了一次调用。我需要知道如何使值作为第一步初始化。我必须使用多个变量,这些变量将数据从一种形式保存到另一种形式,并在加载中使用。确保您的类
变量
是静态的,而不仅仅是字段/属性:
form:form1 {
// Changing the value of variable to 1
private void Form1_Load(object sender, EventArgs e) {
variables.edit=1;
}
// Calling the new form where I'll use its value
private void Button_Click(object sender, EventArgs e){
form2 A=new form2();
A.Show();
}
}
form:form2{
// Showing the value of the variable in a message box
private void Form2_Load(object sender, EventArgs e){
MessageBox.show(variables.edit.ToSting());
}
}
静态类的另一个问题来源是在设置另一个字段/属性时使用一个字段/属性:
public static class variables {
public static int edit = 0;
}
好的,除非在静态构造函数中设置值,否则您无法确定静态构造函数在运行时将首先设置哪个字段/属性,如下所示:
public static class variables {
public static int someValue = 2;
public static int other = someValue + 3;
}
如果您在一个真正的非静态类中声明静态字段/属性,请检查上述问题,如果没有其他任何东西在其他位置更改静态字段/属性,即使在非静态类中也是如此。确保您的类
变量
是静态的,而不仅仅是字段/属性:
form:form1 {
// Changing the value of variable to 1
private void Form1_Load(object sender, EventArgs e) {
variables.edit=1;
}
// Calling the new form where I'll use its value
private void Button_Click(object sender, EventArgs e){
form2 A=new form2();
A.Show();
}
}
form:form2{
// Showing the value of the variable in a message box
private void Form2_Load(object sender, EventArgs e){
MessageBox.show(variables.edit.ToSting());
}
}
静态类的另一个问题来源是在设置另一个字段/属性时使用一个字段/属性:
public static class variables {
public static int edit = 0;
}
好的,除非在静态构造函数中设置值,否则您无法确定静态构造函数在运行时将首先设置哪个字段/属性,如下所示:
public static class variables {
public static int someValue = 2;
public static int other = someValue + 3;
}
如果您在一个真正的非静态类中声明静态字段/属性,请检查上面的问题,如果没有其他任何东西在其他地方更改静态字段/属性,即使在非静态类中也是如此。感谢您让我知道这里只在英语!!我真的需要帮助,我不知道为什么在加载后初始化变量,但我需要加载!我仍然不清楚你在问什么,但我会重新提出这个问题,以防其他人比我更了解这个问题。我是未来,你们可能想向以英语为母语的人寻求帮助,或者在问你们的问题。很抱歉,我真的不明白你们的问题在哪里,你们的问题是什么。我在最后一个表单中更改了静态变量的值,但当我称它为另一个表单的负载时,它返回时并没有值。如果我再次关闭并打开表单,它会工作!但是我首先需要它:
静态类变量{public static int edits;}
?谢谢你让我知道这里只有英文版!!我真的需要帮助,我不知道为什么在加载后初始化变量,但我需要加载!我仍然不清楚你在问什么,但我会重新提出这个问题,以防其他人比我更了解这个问题。我是未来,你们可能想向以英语为母语的人寻求帮助,或者在问你们的问题。很抱歉,我真的不明白你们的问题在哪里,你们的问题是什么。我在最后一个表单中更改了静态变量的值,但当我称它为另一个表单的负载时,它返回时并没有值。如果我再次关闭并打开表单,它会工作!但是我首先需要它:静态类变量{publicstaticintedits;}
?