Skip to content

变量与标识符

变量基础

变量是具有唯一名称(用于无差错引用)的内存单元,可存储特定类型的值。编译器会为变量分配恰好足够的内存空间,并采用特定的内部格式进行存储。每个类型都有固定的大小和对应的内存存储格式(详见第二部分)。

标识符规则

标识符是程序中用于命名变量、函数及其他实体的更严格术语,其命名规则包括: • 只能包含:拉丁字母、数字和下划线 • 不能以数字开头 • 示例:函数名Greeting符合规范

变量特性

变量具有三个核心特征:

  1. 类型:决定存储格式和内存大小
  2. 名称:遵循标识符命名规则
  3. 上下文:定义变量的作用域(即变量可被正确使用的代码区域)
csharp
// 变量值可通过特定语句在程序执行期间改变
int counter = 0;
counter = counter + 1; // 值变更示例

函数参数的特殊性

函数参数是变量的特殊形式,具有以下特点: • 用于向函数传递值 • 作用域限定在函数体内 • 防止外部代码意外修改函数内部状态

csharp
string Greeting(int hour) 
{
    // hour参数的作用域仅限于此函数块
    return "Hello, ";
}

上下文作用域示例

mermaid
graph TD
    A[函数参数 hour] --> B[函数体内可访问]
    B --> C{外部代码}
    C -->|访问hour会报错| D[编译错误]

数组优化方案

当需要处理多个相关值时,推荐使用数组而非多个独立变量: • 优点:统一访问接口 • 优点:简化算法实现 • 示例:问候语数组可替代三个独立字符串变量

csharp
string[] greetings = new string[] 
{
    "Good morning",
    "Good afternoon",
    "Good evening"
};

关键总结:变量定义必须显式声明类型和名称,其上下文由定义位置隐式决定。合理使用参数作用域和数据结构(如数组)能显著提升代码质量和可维护性。