【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 必须分清

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

相关推荐
kimnoic25 分钟前
PHP 8.2的DNF类型怎么用才规范
开发语言·php
_Evan_Yao44 分钟前
前后端联调怎么排查问题?从 Network 到后端日志,一步步定位错误
开发语言·后端·团队开发·需求分析
hudd6681 小时前
JavaEE 初阶 - 多线程(进阶)
java·开发语言·java-ee
小白快快跑哦1 小时前
python-字符串全解(六):正则表达式-前后相断言
开发语言·python·正则表达式·前后相断言
kimnoic1 小时前
Python数据分析中正则表达式匹配字符串与常用函数示例详解
开发语言·python
中屹指纹浏览器svip1 小时前
打开账号环境网页报错,常见原因有哪些?
服务器·开发语言·php·中屹指纹浏览器
朝朝辞暮i1 小时前
第 01 讲:Python 变量、对象、数据类型与内存引用
开发语言·python
外收内放2 小时前
Python基础语法练习题(69)
开发语言·python
lojox2 小时前
深入理解 C++ STL:vector 底层实现、迭代器失效与 list 特性
开发语言·c++
iotxiaohu2 小时前
用 cflow 查看 C 函数调用关系
c语言·开发语言·cflow