变量的作用域2

4 本我 3周前 140次点击

还有一种全局变量,其作用域可覆盖多个函数。修改代码,如下所示:

class Program

{

//声明全局变量:我的字符串

static string 我的字符串;

//定义函数:Write

static void Write()

{

string 我的字符串 = "Write()的字符串";

WriteLine($"Write()\n局部变量我的字符串是{我的字符串}");

WriteLine($"全局变量我的字符串是{Program.我的字符串}");

}

static void Main(string[] args)

{

//声明变量我的字符串

string 我的字符串 = "Main的字符串";

//给全局变量我的字符串赋值

Program.我的字符串 = "全局字符串";

//调用函数Write

Write();

WriteLine($"Main()\n局部变量我的字符串是{我的字符串}");

WriteLine($"全局变量我的字符串是{Program.我的字符串}");

ReadKey();

}

}

注意,这里也需要static关键字。在此类控制台应用程序中,必须使用static或const关键字来定义这种形式的全局变量。如果要修改全局变量的值,就需要使用static,因为const禁止修改变量的值。

为区分这个变量和Main()与Write()中的同名局部变量,必须用一个完整限定的名称为变量名分类,这里把全局变量称为Program.我的字符串。注意,只有在全局变量和局部变量同名时,才需要这么做。如果没有局部我的字符串变量,就可以使用我的字符串表示全局变量,而不需要使用Program.我的字符串。如果局部变量和全局变量同名,会屏蔽全局变量。


目前还没有评论
添加一条新评论

登录后可以发表评论 去登录