2.1 变量、常量与数据类型
变量是用于存储数据的容器,在 C# 中需要先声明后使用,声明时要指定数据类型。例如,int num;声明了一个整数类型的变量num。变量可以根据需要进行赋值和修改。
常量是在程序运行过程中值不能改变的量,使用const关键字定义。例如,const double pi = 3.14159;定义了一个表明圆周率的常量pi。
C# 的数据类型分为值类型和引用类型。值类型包括整数类型(如byte、short、int、long)、浮点类型(float、double)、decimal类型(用于高精度的金融计算)等;引用类型包括string(表明文本数据,不可变)、dynamic(在运行时确定变量类型)、object(所有类型的基类型)等。不同的数据类型有不同的取值范围和用途。
2.2 值类型与引用类型深度剖析
值类型的变量直接存储数据值,存储在栈内存中,访问速度较快。例如,int类型的变量直接存储整数值。
引用类型的变量存储的是对象在堆内存中的引用地址,而不是数据本身。当访问引用类型的变量时,需要通过引用地址找到堆内存中的实际对象。例如,string类型的变量存储的是字符串对象的引用。修改引用类型变量时,可能会影响到多个指向同一对象的变量,由于它们共享同一个对象实例。
2.3 运算符与表达式
算术运算符包括+(加法)、-(减法)、*(乘法)、/(除法)、%(取模)等,用于进行基本的数学运算。例如,int result = 5 + 3;执行加法运算。
比较运算符有==(等于)、!=(不等于)、>(大于)、<(小于)、>=(大于等于)、<=(小于等于),用于比较两个值的大小关系,返回布尔值。如bool isGreater = 5 > 3;判断 5 是否大于 3。
逻辑运算符包括&&(逻辑与)、||(逻辑或)、!(逻辑非),用于组合布尔表达式。逻辑与和逻辑或运算符具有短路特性,即当第一个表达式的结果可以确定整个表达式的结果时,不会再计算第二个表达式。例如,bool condition = (5 > 3) && (4 < 6);组合两个布尔条件。
位运算符用于对整数类型的二进制位进行操作,如&(按位与)、|(按位或)、^(按位异或)、~(按位取反)、<<(左移)、>>(右移)。空合并运算符??在 C# 8.0 中引入,用于在一个可空值为null时提供一个默认值,如string name = person?.Name ?? “匿名用户”;。
2.4 流程控制:条件语句与循环结构
条件语句if – else用于根据条件执行不同的代码块。例如:
int num = 5;
if (num > 3)
{
Console.WriteLine("num大于3");
}
else
{
Console.WriteLine("num小于或等于3");
}
switch – case语句用于根据不同的条件值执行不同的代码块,适用于多条件判断的场景。例如:
int day = 2;
switch (day)
{
case 1:
Console.WriteLine("星期一");
break;
case 2:
Console.WriteLine("星期二");
break;
// 其他case分支
default:
Console.WriteLine("未知的星期");
break;
}
循环结构包括for循环、while循环和do – while循环。for循环常用于已知循环次数的场景,如:
for (int i = 0; i < 5; i++)
{
Console.WriteLine(i);
}
while循环先判断条件,再执行循环体,条件为真时持续循环,如:
int count = 0;
while (count < 3)
{
Console.WriteLine(count);
count++;
}
do – while循环先执行一次循环体,再判断条件,条件为真时继续循环,如:
int num = 0;
do
{
Console.WriteLine(num);
num++;
} while (num < 3);
2.5 可空引用类型与现代内存安全
在 C# 8.0 及后来版本中引入了可空引用类型,允许值类型可以为null。例如,int? age = null;表明年龄可能还未赋值。这在数据库查询结果处理中超级有用,由于数据库中的字段可能允许为空。C# 通过垃圾回收(GC)机制自动管理内存,回收不再使用的对象所占用的内存,提高了内存管理的效率和安全性。同时,C# 还提供了一些内存安全特性,如类型安全检查,在编译时和运行时对类型进行检查,防止类型不匹配导致的错误,增强了程序的稳定性和可靠性。




![在苹果iPhone手机上编写ios越狱插件deb[超简单] - 鹿快](https://img.lukuai.com/blogimg/20251123/23f740f048644a198a64e73eeaa43e60.jpg)













暂无评论内容