在 C# 编程中,变量是最基础也是最重要的概念之一。变量本质上是程序中用于存储数据的一块内存区域的名字。通过变量,我们可以保存数据、修改数据,并在程序中进行各种运算。
本文将带你系统掌握 C# 中变量的定义、初始化、命名规则、类型分类以及相关知识点。
一、什么是变量?
在 C# 中:
变量是用于存储和表示数据的标识符。
声明变量时必须指定:
- ✅ 数据类型
- ✅ 变量名称
- ✅ (可选)初始值
例如:
csharp
int age = 18;
这里:
int是数据类型age是变量名18是初始值
二、C# 中的基本数据类型
C# 是强类型语言,每个变量必须有明确的数据类型。不同类型决定:
- 占用的内存大小
- 可存储的数据范围
- 支持的操作方式
1️⃣ 整数类型
| 类型 | 说明 |
|---|---|
| sbyte | 有符号 8 位整数 |
| byte | 无符号 8 位整数 |
| short | 有符号 16 位整数 |
| ushort | 无符号 16 位整数 |
| int | 有符号 32 位整数(最常用) |
| uint | 无符号 32 位整数 |
| long | 有符号 64 位整数 |
| ulong | 无符号 64 位整数 |
| char | 单个字符 |
示例:
csharp
int score = 90;
char grade = 'A';
2️⃣ 浮点类型
| 类型 | 说明 |
|---|---|
| float | 单精度浮点数 |
| double | 双精度浮点数(默认) |
示例:
csharp
float price = 9.9f;
double height = 175.5;
注意:float 类型必须加
f后缀。
3️⃣ 十进制类型
| 类型 | 说明 |
|---|---|
| decimal | 高精度十进制(常用于金融计算) |
csharp
decimal money = 199.99m;
decimal 必须加
m后缀。
4️⃣ 布尔类型
csharp
bool isLogin = true;
只能取:
truefalse
5️⃣ 字符串类型
csharp
string name = "Tom";
字符串属于引用类型。
6️⃣ 可空类型
C# 支持可空值类型:
csharp
int? age = null;
表示该变量可以存储 null。
7️⃣ dynamic 动态类型(C# 4.0 引入)
csharp
dynamic value = 100;
value = "Hello";
value = true;
特点:
- 类型在运行时确定
- 编译器不做类型检查
⚠ 建议:
除非有特殊需求,否则优先使用强类型,提高性能与安全性。
三、变量的定义语法
基本语法
csharp
<data_type> <variable_list>;
示例:
csharp
int i, j, k;
char c, ch;
float salary;
double d;
四、变量的初始化
变量可以在声明时初始化:
csharp
int a = 10;
也可以先声明再赋值:
csharp
int a;
a = 10;
多个变量初始化:
csharp
int d = 3, f = 5;
byte z = 22;
double pi = 3.14159;
char x = 'x';
✅ 良好习惯:声明变量时尽量初始化,避免使用未赋值变量。
五、变量命名规则
在 C# 中,变量命名必须遵循以下规则:
命名规范
- 只能包含:字母、数字、下划线
- 必须以字母或下划线开头
- 区分大小写
- 不能使用 C# 关键字
合法示例:
csharp
int myVariable = 10;
string _userName = "John";
不合法示例:
csharp
int 123name; // 错误
int class = 10; // 错误(关键字)
六、完整示例程序
csharp
using System;
namespace VariableDefinition
{
class Program
{
static void Main(string[] args)
{
short a;
int b;
double c;
// 初始化
a = 10;
b = 20;
c = a + b;
Console.WriteLine("a = {0}, b = {1}, c = {2}", a, b, c);
Console.ReadLine();
}
}
}
运行结果:
a = 10, b = 20, c = 30
七、接收用户输入
Console.ReadLine() 用于接收用户输入(返回字符串)。
如果需要转换为整数:
csharp
int num;
num = Convert.ToInt32(Console.ReadLine());
完整示例:
csharp
Console.Write("请输入一个数字:");
int num = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("你输入的是:" + num);
八、Lvalue 与 Rvalue
在 C# 中有两种表达式:
🔹 Lvalue(左值)
可以出现在赋值语句左边或右边。
变量属于 Lvalue:
csharp
int g = 20;
🔹 Rvalue(右值)
只能出现在赋值语句右边。
错误示例:
csharp
10 = 20; // 编译错误
原因:常量不能作为赋值目标。
九、总结
C# 变量核心知识点:
✔ 变量必须先声明类型
✔ 强类型语言,类型决定一切
✔ 建议声明时初始化
✔ 命名必须规范
✔ Console.ReadLine() 接收字符串
✔ dynamic 是运行时类型
十、学习建议
如果你是初学者,建议:
- 多写变量定义练习
- 熟悉常见数据类型
- 理解值类型 vs 引用类型
- 掌握类型转换
如果你觉得这篇文章对你有帮助,欢迎点赞 👍 收藏 ⭐ 关注 📌
后续将继续更新:
- C# 数据类型详解
- C# 类型转换
- C# 运算符详解
- C# 控制结构
一起进步 🚀