变量是存储数据的命名位置,是编程中不可或缺的组成部分。在C#中,变量必须在使用之前声明其类型。了解变量的作用域和生命周期有助于编写高效、清晰的代码。本章将详细介绍C#中的变量,包括变量声明与初始化、命名规则、变量类型、以及变量作用域和生命周期。
1. 变量声明与初始化
变量在使用之前必须先声明。声明变量时,需要指定变量的数据类型和名称。变量的声明和初始化可以在同一行,也可以分开。
声明变量:
int number; // 声明一个整数变量
number = 10; // 初始化变量
声明并初始化变量:
int number = 10; // 声明并初始化变量
2. 变量的命名规则
变量的名称应遵循以下规则:
- 只能包含字母、数字和下划线(_)。
- 不能以数字开头。
- 大小写敏感。
- 不能使用C#的关键字。
示例:
int age;
double salary;
string firstName;
3. 变量类型
C#中的变量类型可以分为值类型和引用类型。
值类型:
值类型直接包含数据。分配值类型变量时,实际的数据存储在变量分配的内存位置。常见的值类型包括整数类型、浮点类型、字符类型、布尔类型、结构体和枚举等。
示例:
int number = 10;
double pi = 3.14;
char letter = 'A';
bool isCSharpFun = true;
引用类型:
引用类型存储的是对象的引用,而不是对象的实际数据。分配引用类型变量时,变量存储的是数据的内存地址。常见的引用类型包括类、接口、数组和字符串等。
示例:
string greeting = "Hello, C#";
int[] numbers = {
1, 2, 3, 4, 5 };
4. 变量作用域(Variable Scope)
变量的作用域决定了变量在程序中的可见性和生命周期。C#中的变量作用域包括局部变量、成员变量和静态变量等。
局部变量:
局部变量在方法或代码块中声明,只在该方法或代码块中可见。
示例:
void PrintNumber()
{
int number = 10; // 局部变量
Console.WriteLine($"Number: {
number}");
}
PrintNumber();
// Console.WriteLine(number); // 错误,局部变量在方法外不可见
成员变量:
成员变量在类中声明,可在类的所有方法中访问。
示例:
class Person
{
public string Name; // 成员变量
public void Introduce()
{
Console.WriteLine($"Hello, my name is {
Name}.");
}
}
Person person = new Person();
person.Name = "Alice";
person.Introduce();
静态变量:
静态变量在类中声明,并使用 static
关键字修饰。静态变量属于类,而不是类的实例。
示例:
class Counter
{
public static int Count = 0; // 静态变量
public Counter()
{
Count++;
}