24.C#入门语法知识总结

24.总结


24.1 知识点

学习的主要内容

总结讲什么

为什么要讲练结合

如何培养良好的学习习惯

如何快速的提升编程能力


24.2 核心要点速览

输入输出操作

API 说明
Console.WriteLine 输出文本并换行,支持占位符,示例:Console.WriteLine("{0}", value)
Console.Write 输出文本但不换行。
Console.ReadLine 读取一行用户输入,以回车结束输入,返回字符串类型结果。
Console.ReadKey 读取单个按键,返回 ConsoleKeyInfo 对象,可用于捕获键盘事件,按下任意键即认为输入结束。

代码分组

#region 分组名称
// 分组代码
#endregion

通过 #region#endregion 可将代码分组,提高代码的可读性与逻辑性,此为编辑器提供的预处理指令,编译时会被忽略。

基础变量类型

分类 类型 默认值
有符号整型 sbyte(8 位)、short(16 位)、int(32 位)、long(64 位) 0
无符号整型 byte(8 位)、ushort(16 位)、uint(32 位)、ulong(64 位) 0
浮点数 float(单精度)、double(双精度)、decimal(高精度) 0.0
布尔/字符 booltrue/false)、char(单字符,如 'A' false/'\0'
字符串 string(引用类型,不可变) null

获取变量类型所占内存空间

可使用 sizeof(变量类型) 方法获取变量类型在内存中所占的字节数。例如:

int intSize = sizeof(int);
Console.WriteLine($"int 类型所占字节数: {intSize}");

常量

  • 声明:使用 const 关键字,语法为 const 类型 名称 = 值;,示例:const float PI = 3.14f;
  • 特性:常量是编译时常量,声明时必须初始化,且在程序运行过程中不可修改。

转义字符

符号 含义 应用场景
\' 单引号 当字符串中需要包含单引号时使用,如 'Hello'
\" 双引号 当字符串中需要包含双引号时使用,如 "World"
\n 换行符 用于实现文本换行,示例:str = "Line1\nLine2"
\\ 反斜杠 在表示文件路径等需要使用反斜杠的场景中使用,如 C:\\Folder\\File.txt
\t 制表符(Tab) 用于文本对齐,示例:Name\tAge
\b 退格符 使光标回退一格,示例:12\b3 输出 13
\a 警报音 触发系统提示音,使用时需谨慎。

类型转换

隐式转换规则

遵循大范围容纳小范围的原则:double → float → 整数(无符号/有符号) → chardecimal → 整数 → charstringbool 类型不参与隐式转换。

显式转换

方法 说明
(类型) 值 括号强转,示例:(int)3.14,需注意可能会出现精度丢失或范围溢出问题。
变量类型.Parse("字符串") 将字符串转换为对应的变量类型,若转换失败会抛出异常。
Convert.To目标类型(变量或常量) 可将任意类型转换为目标类型。
ToString() 将对象转换为字符串类型,可通过重写来自定义转换逻辑。

异常捕获

说明 是否必需
try 包含可能会抛出异常的代码。
catch 捕获异常,可通过指定 Exception e 来获取详细的错误信息,至少需要一个 catch 块。
finally 无论是否发生异常,该块中的代码最终都会执行,常用于释放资源。
示例代码:
try
{
    // 可能抛出异常的代码
}
catch (Exception e)
{
    // 处理异常
    Console.WriteLine($"异常信息: {e.Message}");
}
finally
{
    // 清理资源
}

运算符

类型 运算符 说明 优先级(从高到低)
算术运算符 + - * / % 分别用于加减乘除和取余运算,示例:7 % 3 = 1,整数除法 5 / 2 = 2 * / % > + -
关系运算符 > < >= <= == != 比较操作,结果为 bool 类型,示例:3 > 2 结果为 true"a" != "b" 结果为 true 高于逻辑运算符(除 ! 外)
逻辑运算符 ! && || 逻辑非、与、或运算,具有短路特性:&& 运算符若左边为 false 则右边不执行;|| 运算符若左边为 true 则右边不执行。 ! > && > ||
位运算符 & | ^ ~ << >> 对数值进行位运算,示例:5 << 1 = 105 & 3 = 1~5 = -6 高于逻辑运算符(仅 ! 例外)
三目运算符 条件 ? 表达式1 : 表达式2 根据 bool 条件判断,若条件为 true 则返回表达式 1,否则返回表达式 2,示例:a > b ? a : b 低于赋值运算符

字符串拼接

类型 方法/语法 说明 示例
运算符拼接 + / += 直接使用 + 进行字符串拼接,支持将非字符串类型(如数字、布尔值)自动转换为字符串。复合运算符 += 等价于 str = str + value string str = "Hello" + "World"; str += 123; 结果为 "HelloWorld123"
格式化拼接 string.Format("模板", 参数1, 参数2) 使用 {数字} 作为占位符定义模板,按顺序填充参数,支持类型自动转换。 string result = string.Format("我是{0},今年{1}岁", "小明", 18); 结果为 "我是小明,今年18岁"
控制台拼接 Console.WriteLine("模板", 参数1, 参数2) 本质是 WriteLine 方法的重载,语法与 string.Format 相同,直接输出拼接结果。注意:参数数量必须大于等于占位符数量,否则会报错。 Console.WriteLine("A{0}B{1}", true, 123); 输出 "ATrueB123"

流程控制

条件分支

语句 语法 特点
if if (条件) { 代码块 } 单分支结构,当条件为 true 时执行代码块。
if...else if (条件) { 代码块1 } else { 代码块2 } 双分支结构,若条件为 false 则执行 else 后的代码块。
switch switch (变量) { case 常量: 代码块; break; } 多分支结构,每个 case 语句后需要使用 break 语句跳出(支持贯穿)。

循环

语句 语法 执行顺序
while while (条件) { 循环体 } 先判断条件,条件为 true 时执行循环体,可能一次都不执行。
do...while do { 循环体 } while (条件); 先执行一次循环体,再判断条件,至少执行一次循环体。
for for (初始; 条件; 增量) { 循环体 } 适用于已知循环次数的场景,按初始、条件判断、执行循环体、增量的顺序执行。

控制关键字

关键字 作用 适用场景
break 跳出当前循环或 switch 语句 用于提前终止循环或 switch 流程。
continue 跳过本次循环的后续代码,直接进入下一次循环 忽略本次循环剩余代码,开始下一次循环。


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 785293209@qq.com

×

喜欢就点赞,疼爱就打赏