☰
虹猫培训0927-1007周总结
2026/10/8 18:48:58 网站建设 项目流程

2026-09-27

今天学习了抽象类、var、dynamic、const、readonly、重写、private、static、接口、多态

var是根据所赋的值来推断变量的数据类型,你不需要显式指定数据类型,而是让编译器根据上下文来确定初始值的数据类型

var是一个用于在编译时进行类型推断的关键字,当你使用var声明一个变量时,编译器会为变量在编译时会被确定为具体的数据类型,一旦变量的类型被推断,就不能更改为其他类型

dynamic是一个用于在运行时推断类型的关键字。与var不同的是,dynamic使用声明的变量可以在编译时不进行类型检查,而是在运行时确定其类型。你可以将不同类型的词分配给dynamic变量,并且编译器不会引发类型错误,但运行时可能会引发异常

var是编译时类型推断,具有类型确定性,适用于静态类型的情况,其中类型不会改变,

dynamic是运行时类型推断,具有较低的类型确认性,适用于需要处理不同类型数据的情况,但仍需要小心类型错误

Coust, 关键字限定一个变量,不允许被改变。使用Coust在一定程度上可以提高程序的安全性和可靠性,

readonly允许把一个字段设计为常量,但可以执行一些运算,可以确定它的初始值

重写:需要满足以下条件,函数成员,可见,签名一致

virtual:若一个实例方法的声明中含有virtual修饰符,则称该方法为虚方法

voerride:虚方法可以在子类中重写。当某个实例方法声明包括voerride修饰符时,该方法将重写所继承的具有相同签名的序方法。虚方法声明用于引入新方法,而重写方法声明则用于使现有的继承需方法专用化

private:私有的方法子类是无法继承到的,也不存在覆盖

static:抽象方法不能和static关键字共存

接口:接口是功能的集合,是比抽象类更为抽象的类。接口只描述所应该具备的方法,并没有具体实现,具体的实现由接口的实现类来完成。这样将功能的定义与实现分离,优化了程序设计

多态:面对对象的多种形态,通常是在说要用对象同一个方法时产生不同的结果

2026-09-28

今天学习了ArrayList集合、队列、栈、队列(Queue)、栈(Stack)

ArrayList类与数组的区别,数组的容量是固定的,而ArrayList的容量可以根据需要自动补充,ArrayList提供添加,插入,删除某一定范围元素的方法,但在数组中只能一次获取或设置一个元素的值,ArrayList提供将只读和固定大小包装返回集合的方法,数组不提供ArrayList只能是一维形式,而数组可以是多维的

ArrayList常用方法

Add()方法:元素添加

Clear()方法:元素删除,暴力删除所有元素

Remove()方法:删除指定对象

RemoveAt()方法:删除下标对象

RemoveRange()方法:删除一定范围内的元素

Contains()方法:判断该元素是否在集合内

IndexOf()方法:查找该字符串、字符首次出现的位置

LastIndexOf()方法:查找该字符最后一次出现的位置

ArrayList集合都可以使用foreach语句

Queue队列结构

​​先进先出特性​​:遵循FIFO原则,类比汽车过隧道,先入队的元素先出队,出队后该元素从队列中消失。

入队添加:使用enqueue方法向队列末尾添加元素。 出队移除:使用dequeue方法移除并返回开头元素,元素出队后长度减一。

Stack栈结构 ​​先进后出特性​​:遵循LIFO原则,类比冰箱存放腊肉或水管封闭容器,最后放入的元素最先取出。

入栈添加:使用push或add方法将元素压入栈顶。 出栈移除:使用pop方法移除并返回栈顶元素,元素弹出后栈内自动删除。 查看栈顶:使用peek方法读取栈顶元素但不将其移除。

遍历方式​​:集合、队列、栈都支持使用for或foreach循环遍历栈内所有元素。

2026-09-29

今天了解C#异常处理机制,并详细阐述了try-catch-finally结构、异常类型捕获、异常抛出、泛型及多态概念


try-catch结构原理


​​try块定位​​:用于封装可能出现异常的代码块,并非一定会发生异常,而是针对外部用户随意输入等不可控情况做防御性处理。


​​catch块执行​​:当try块中发生异常时,程序会立即跳转至catch块执行异常处理逻辑,随后继续向下运行而不终止整个程序。


​​多catch分支规则​​:多个catch块按顺序排列,类似于if-else if结构,一旦匹配到对应类型的异常进行处理后,后续catch块不再执行;若存在多个可能异常的代码段,需使用多层嵌套的try-catch块分别捕获。


基类Exception​​:所有异常类的父类均为System.Exception,直接使用它可捕获所有异常但无法精准定位具体类型。


​​精准捕获子类​​:通过指定具体的异常子类(如ArithmeticException、IndexOutOfRangeException)进行捕获,能更准确地识别问题并提供针对性提示。


向上抛出逻辑​​:throw用于将当前方法无法处理的异常抛给调用者,类似学生闯祸由班主任通知家长处理,而肇事者本身不负责赔偿。


​​谁调用谁处理​​:异常最终由调用该方法的层级进行捕获和处理,若逐层向上抛出直到最外层仍未处理,则程序仍会崩溃。


​​统一处理优势​​:在顶层方法中对底层抛出的异常进行统一捕获和展示,可简化各中间方法的异常处理代码。


泛型集合的使用​​:通过List<T>定义集合时,尖括号内的T代表任意数据类型,一旦确定便限制了该集合只能添加特定类型的元素。


​​泛型的好处​​:明确了集合内元素的类型,避免了ArrayList遍历时繁琐的类型判断和转换操作。

2026-09-30到10-07

今天学习了泛型类定义与使用​​:

自定义泛型类需在类名后加尖括号(如public class Student<T>),属性与方法中的类型均可使用T替代,实例化时需指定具体类型。值类型/引用类型约束:限制类型必须是值类型或引用类型。
文件操作核心流程


​​掌握文件操作五步法​​:

创建文件流(FileStream),

指定写入模式(如追加Append或覆盖Create),

使用写入器执行写入操作(WriteLine),

关闭写入器(StreamWriter.Close),

关闭文件流(FileStream.Close)。


​​理解追加与覆盖模式差异​​:追加模式在已有文件后继续写入,覆盖模式则直接清空原文件重新写入,​​正确导入IO命名空间​​:C#默认未引入文件操作类,需在代码顶部手动添加using System.IO;引用。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询