C# 变量(Variables)详解
                           
天天向上
发布: 2025-04-06 23:32:21

原创
991 人浏览过

下面是关于 C# 变量(Variables) 的全面专业解读,包括变量的声明、作用域、命名规范、类型推断(var)、常量(const)、只读变量(readonly)、静态变量等内容,并附带代码示例,适合系统学习与实际开发。


目录导航

  1. 什么是变量?
  2. 变量声明与初始化
  3. C# 变量类型分类
  4. 类型推断变量(var
  5. 常量(const)与只读变量(readonly
  6. 静态变量(static
  7. 变量作用域(Scope)
  8. 命名规范与建议
  9. 权威文档与学习链接

1️⃣ 什么是变量?

变量是用于存储数据值的命名内存位置。在 C# 中,每个变量都必须声明类型,并且只能存储该类型的数据。


2️⃣ 变量声明与初始化

✍️ 基本语法

int age;               // 声明变量
age = 25;              // 赋值
int score = 100;       // 声明并初始化

🧪 示例

string name = "Alice";
double pi = 3.14159;
bool isActive = true;

🔗 文档参考:https://learn.microsoft.com/en-us/dotnet/csharp/programming-guide/variables/


3️⃣ C# 变量类型分类

类型示例说明
值类型int, bool存储实际的值
引用类型string, object, 自定义类存储的是对象引用
指针类型int*, char*仅在不安全代码(unsafe)中使用

值类型(Value Types):

  • int, float, bool, char, struct, enum

引用类型(Reference Types):

  • string, class, interface, delegate, object, array

4️⃣ 类型推断变量(var

var 由编译器自动推断数据类型,但编译时必须能够明确推断类型

var message = "Hello";     // 推断为 string
var number = 123;          // 推断为 int

⛔ 不允许:

var something; // ❌ 报错:必须初始化

🔗 文档参考:https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/var


5️⃣ 常量(const)与只读变量(readonly

🔹 const:编译时常量,值不可改变

const double Pi = 3.14159;
  • 必须在声明时赋值
  • 值在编译时固定

🔹 readonly:运行时只读字段

readonly int id;

public MyClass(int id)
{
    this.id = id; // 只能在构造函数中赋值
}

🔗 文档参考:


6️⃣ 静态变量(static

静态变量属于类本身而非对象实例。

class Counter
{
    public static int Count = 0;
}

调用方式:

Counter.Count++;

🔗 文档参考:https://learn.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/static-classes-and-static-class-members


7️⃣ 变量作用域(Scope)

作用域类型示例可访问范围
局部变量方法或代码块中声明只在代码块中有效
成员变量类的字段整个类中可访问
参数变量方法参数方法内部可访问
静态变量static 的字段所有类共享,不依赖对象

🔍 示例:

class Demo
{
    int instanceVar = 10;           // 成员变量

    static int staticVar = 20;      // 静态变量

    void Method(int param)          // 参数变量
    {
        int localVar = 30;          // 局部变量
    }
}

8️⃣ 命名规范与建议

✔ 遵循 Microsoft C# 命名约定

类型命名规范示例
变量camelCasetotalScore
常量PascalCase 或全大写MaxCount / MAX
字段_camelCase(私有)_totalScore
静态字段PascalCaseDefaultCount

权威文档与学习链接

  • 📘 C# 变量官方介绍:https://learn.microsoft.com/en-us/dotnet/csharp/programming-guide/variables/
  • 📘 数据类型详解:https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/builtin-types/built-in-types
  • 📘 命名规范:https://learn.microsoft.com/en-us/dotnet/standard/design-guidelines/naming-guidelines
  • 📘 readonly vs const 比较:https://learn.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/readonly
发表回复 0

Your email address will not be published. Required fields are marked *