18 函数和方法之局部变量与全局变量

在上一篇中,我们讨论了“函数和方法之参数与返回值”,了解了如何将数据传递给函数,以及如何从函数中返回数据。今天,我们将重点讨论局部变量和全局变量的概念,以及它们在函数和方法中的应用。

局部变量

局部变量是在函数或方法内部定义的变量。它们的作用域仅限于定义它们的代码块内。在代码块之外,它们是不可见的,无法访问。在执行函数时,局部变量会被创建,函数执行完后,局部变量会被销毁。

例子

让我们通过一个简单的示例来了解局部变量的使用。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
using System;

class Program
{
static void Main()
{
int result = Add(5, 10);
Console.WriteLine("结果是: " + result);
}

static int Add(int a, int b)
{
int sum = a + b; // `sum` 是局部变量
return sum; // 返回局部变量
}
}

在这个例子中,Add 方法中定义的 sum 变量是一个局部变量。我们在 Add 方法内部使用它来保存两个参数 ab 的和。你无法在 Add 方法外部访问 sum 变量。

全局变量

全局变量是定义在类的作用域内,但不在任何方法或代码块内部的变量。它们在整个类中都是可见的,且可以被类中的任何方法访问。全局变量通常用于保存类的状态或需要共享的数据。

例子

让我们看看全局变量是如何工作的。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
using System;

class Program
{
static int globalCounter = 0; // `globalCounter` 是全局变量

static void Main()
{
IncrementCounter();
IncrementCounter();
Console.WriteLine("全局计数器的值是: " + globalCounter);
}

static void IncrementCounter()
{
globalCounter++; // 操作全局变量
}
}

在这个例子中,globalCounter 是一个全局变量,它在 Main 方法和 IncrementCounter 方法中都可以访问。不过需要注意的是,过多使用全局变量可能会导致代码难以理解和维护,因此应谨慎使用。

局部变量与全局变量的比较

特性 局部变量 全局变量
作用域 函数/方法内部 整个类
生命周期 仅在方法执行期间有效 程序运行期间有效
访问性 仅在定义它的代码块内可见 可以在类的任意方法中访问
适用场景 常用于临时存储计算中间结果 常用于保存类的状态或共享数据

总结

在本篇中,我们学习了局部变量和全局变量的概念以及它们在 C# 中的基本用法。局部变量提供了一个清晰的方式来在函数中处理数据,而全局变量则用于在类内部共享状态。在下一篇中,我们将进入“面向对象编程基础之类的定义”,继续探索 C# 的强大功能。

感谢您的阅读,期待下次见面!

18 函数和方法之局部变量与全局变量

https://zglg.work/csharp-zero/18/

作者

IT教程网(郭震)

发布于

2024-08-13

更新于

2024-08-13

许可协议

分享转发

交流

更多教程加公众号

更多教程加公众号

加入星球获取PDF

加入星球获取PDF

打卡评论