首页 新闻 会员 周边 捐助

如何定义全局变量?

0
[已解决问题] 解决于 2018-01-19 08:41

哈喽,天气冷了,注意保暖哈

下面是我的问题哈

1)在按钮事件之下,定义一个int a = 0;  我们知道这个a是个局部变量,为什么会是个局部变量呢?按钮事件之下 的定义变量为什么会是局部变量呢?

1 private void button4_Click(object sender, EventArgs e)
2         {
3             int a = 0;
4         }

 

 

 

2)如何定义一个全局变量a呢?

   是不是要static  int  a = 0;

  如果是,那么应该把static int a = 0;放在哪个控件的方法之下呢?

  总不能随便放个位置吧?

绿绿山水的主页 绿绿山水 | 菜鸟二级 | 园豆:248
提问于:2018-01-18 09:28
< >
分享
最佳答案
1

首先,全局变量的作用域为整个程序,而局部变量的作用域为当前函数或循环等。

然后回到你的提问:

(1)我们来看看你给出的程序段:

变量a,是在button4_Click这个方法内部定义的,那它的作用域当然只能是该方法的内部,也就是局部变量,这一点可以理解吧。

(2)本质上C#中没有全局变量的概念,可以定义一个common类,通过静态变量来存放所有需要的全局变量,调用的时候通过common来调用即可,如:

public static  class common // static 不是必须
 {private static string name = "cc";
     public static string Name
     {
         get { return name;}
         set { name = value;} 
    } 
}

调用的时候使用“命名空间.common.属性名”即可,例如 :

string m_name = common.Name ; 

 

不知道我这样描述,你是否明白,如果有不明白的,可以私信我。

 

奖励园豆:5
MrBug | 菜鸟二级 |园豆:273 | 2018-01-18 10:58

谢谢你。

我翻译一下,你看翻译的对不对,不对的地方你指正下哦。

1)public static class common:定义一个公共类common

2)private static string name = "cc"; 声明仅允许这个类成员访问的静态变量name,并给她初始值CC

3)public static string Name   声明公共类静态变量Name

4)get { return name;} set { name = value;}  读取一个name 的值,并将value赋值给她。

绿绿山水 | 园豆:248 (菜鸟二级) | 2018-01-18 17:16

@绿绿山水:

4)get是获取属性的值,set是为属性赋值。实际上,如果没有特殊要求,上面那个类你可以简写为:

public class common
{
     public static string Name;
}
MrBug | 园豆:273 (菜鸟二级) | 2018-01-18 22:36
其他回答(1)
0

找本C#的入门书,翻到 “作用域”那一节。

西漠以西 | 园豆:1675 (小虾三级) | 2018-01-18 16:48
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册