【C# 入门】变量、常量与命名规范

一、什么是变量

变量的本质是给内存中的一块空间取个名字,变量必须先声明再使用。

二、var关键字,不是动态类型

cs 复制代码
var number = 10;

很多人会以为这是"弱类型"或"动态类型",这是错误的。var只是编译期间的类型推断,编译后仍然是int类型。var 的变量必须初始化,通常建议右侧类型一眼能看出来时再用 var。

三、常量(const):真正的"不可变"

cs 复制代码
const int A = 3;

const 是编译期常量,必须在声明时赋值,且不能修改;A 的值会被直接"拷贝"进使用它的代码中,修改 const 后,引用它的程序集需要重新编译。

四、readonly

readonly是运行时常量,只能在声明时或构造函数中赋值。

五、变量命名规范

命名是程序员之间最重要的沟通方式。不是写给编译器看的,是写给后来维护代码的人看的。

C# 命名规范:

  • 局部变量 / 参数:camelCase
cs 复制代码
int fileCount;
string userName;
  • 私有字段:_camelCase
cs 复制代码
private int _retryCount;
private string _connectionString;
  • 属性 / 方法 / 类:PascalCase
cs 复制代码
public int RetryCount { get; set; }

public void StartService() { }

public class UserManager { }

六、变量作用域

变量只在定义它的代码块内有效

cs 复制代码
if (true)
{
    int x = 10;
}
Console.WriteLine(x); // 编译错误

七、总结

  • 变量是代码的基础

  • const 和 readonly 必须分清

  • 命名规范直接决定代码质量

相关推荐
小羊没烦恼!1 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
神仙别闹1 天前
基于C#+MySQL实现(WinForm)个人聊天室软件
c#
伞伞悦读1 天前
【第38期】Python 模块与包详解:import、from、模块搜索路径、包结构和 __init__
开发语言·python
C语言小火车1 天前
C/C++ 为什么需要编译器?
开发语言·c++
霍霍的袁1 天前
【C++】map 和 set 的使用 | 从用法到底层
开发语言·c++·学习·visual studio
kybs19911 天前
全球灾害数据分析可视化 毕业设计-附源码66794
vue.js·spring boot·mysql·安全·django·c#·asp.net
孙启超1 天前
【AI开发之Rust】第 11 课:智能指针与内部可变性
开发语言·后端·rust
此生决int1 天前
深入理解C++系列(20)——C++11(下)
开发语言·c++
CoderYanger1 天前
A.每日一题:835. 图像重叠
java·开发语言·程序人生·leetcode·面试·职场和发展·学习方法
伞伞悦读1 天前
【第37期】Python JSON 与配置详解:序列化、反序列化、嵌套结构和配置文件
开发语言·python·json