变量声明与初始化

在C#中,变量需明确指定数据类型。声明语法为:数据类型 变量名;,初始化可通过赋值完成:

int age;          // 声明
age = 25;         // 初始化
string name = "Alice"; // 声明并初始化

使用var可隐式推断类型(编译时确定):

var score = 95.5; // 自动推断为double

数据类型分类

值类型:直接存储数据(如int, double, struct)。
引用类型:存储内存地址(如string, class, array)。
特殊类型

  • dynamic:运行时确定类型。
  • nullable:值类型允许为null(如int? nullableInt = null;)。

作用域与生命周期

  • 局部变量:在方法或代码块内声明,仅在该范围内有效。
  • 成员变量:在类中声明,作用域为整个类(需实例化访问)。
  • 静态变量:用static修饰,生命周期与程序一致。
class Example {
    static int staticVar = 10; // 静态变量
    int memberVar = 20;        // 成员变量

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

常量与只读变量

  • const:编译时常量,必须声明时赋值。
  • readonly:运行时常量,可在构造函数中赋值。
const double PI = 3.14;
readonly DateTime CreatedDate;

public Example() {
    CreatedDate = DateTime.Now; // 允许在构造函数赋值
}

类型转换

隐式转换:自动进行(如intdouble)。
显式转换:需强制指定(可能丢失精度):

double d = 3.14;
int i = (int)d; // 显式转换,结果为3

使用Convert类或Parse/TryParse方法处理复杂转换:

string str = "123";
int num = int.Parse(str); // 或 Convert.ToInt32(str)

最佳实践

  • 避免隐式类型var导致代码可读性降低。
  • 使用TryParse替代Parse防止异常。
  • 优先选择readonly而非const应对运行时变化需求。

通过理解以上核心概念,可高效管理C#变量并减少常见错误。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐