首页 > 编程笔记 > C#笔记 阅读:6

C#全局变量和局部变量的用法(附带实例)

一般程序语言可以依照执行时的生命周期和影响范围,将变量分为两类:

C# 语言在顶级语句下,所有定义的变量皆是局部变量,但是如果我们在程序最前面设定变量,则后方创建的函数也可以调用此变量,此时变量可以影响整个程序,有类似全局变量的效果。

【实例 1】测试局部变量 data 有全局变量的效果。
int data = 10;
Console.WriteLine($"在GlobalLocal外 data = {data}");
void GlobalLocal()
{
    Console.WriteLine($"在GlobalLocal内 data = {data}");
    data += 1;
    Console.WriteLine($"在GlobalLocal内 data = {data}");
}
GlobalLocal();
Console.WriteLine($"在GlobalLocal外 data = {data}");
执行结果为:

在GlobalLocal外 data = 10
在GlobalLocal内 data = 10
在GlobalLocal内 data = 11
在GlobalLocal外 data = 10

从程序中可以看到其第 1 行定义了 data 变量,这个变量也可以在 GlobalLocal() 函数内使用,同时计算结果也会影响该函数之外第 10 行的结果。如果在函数 GlobalLocal() 内定义相同名称的变量 data,则将获得的这两个 data 局部变量是不一样的变量。

【实例 2】测试两个 data 变量不会互相影响。
int data = 10;
Console.WriteLine($"在GlobalLocal外 data = {data}");
void GlobalLocal()
{
    int data = 100;
    Console.WriteLine($"在GlobalLocal内 data = {data}");
    data += 1;
    Console.WriteLine($"在GlobalLocal内 data = {data}");
}
GlobalLocal();
data += 1;
Console.WriteLine($"在GlobalLocal外 data = {data}");
执行结果为:

在GlobalLocal外 data = 10
在GlobalLocal内 data = 100
在GlobalLocal内 data = 101
在GlobalLocal外 data = 11

相关文章