- 博客(69)
- 收藏
- 关注
原创 【C#补全计划】预处理器指令
1. 作用:将源语言程序翻译为目标语言程序2. 源语言程序:某种程序设计语言写成的,比如C、C++、C#、Java等语言写成的程序3. 目标语言程序:二进制数表示的伪机器代码写成的程序。
2025-08-18 17:35:43
227
原创 【C#补全计划】多线程
1. 概念:进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础2. 进程之间可以相互独立运行、互不干扰,也可以相互访问、操作。
2025-08-17 23:50:46
691
原创 【C#补全计划】协变逆变
1. 协变:子类型关系的正向继承子类变父类 -> 感受是和谐的2. 逆变:子类型关系的反向继承父类变子类 -> 感受是不和谐的3. 协变和逆变是用来修饰泛型的(1)协变:out(2)逆变:in4. 只有泛型接口和泛型委托能使用5. 是用来在泛型中修饰泛型字母的。
2025-08-17 17:18:09
443
原创 【C#补全计划】Lambda表达式
1. 可以将lambda表达式理解为匿名函数的简写2. lambda表达式除了写法不同外,使用上和匿名函数一模一样,都是配合委托或事件使用的。
2025-08-16 18:07:22
664
原创 【C#补全计划】委托
/ 声明一个存储无参无返回值函数的容器:这里只定义了规则,并没有使用// 声明一个存储有参无返回值函数的容器// 声明一个存储无参有返回值函数的容器// 声明一个存储有参有返回值函数的容器1. 前提:引用System命名空间2. Action:无返回值的委托3. Func:有返回值的委托// 委托的初始化// 第二种方式// 委托的使用// 第二种方式md2();// 传递方法// 多播委托md3();
2025-08-15 18:13:19
568
原创 【C#补全计划】泛型约束
1. 作用:让泛型的类型有一定的限制2. 关键字:where3. 种类:6种(1)值类型: struct(2)引用类型:class(3)无参的公共构造函数:new()(4)某个类本身或其派生类:类名(5)某个接口的派生类:接口名(6)另一个泛型类本身或其派生类型:其他泛型4. 语法:where 泛型 : 种类。
2025-08-14 23:38:57
529
原创 【C#补全计划】泛型
1. 泛型实现了类型参数化,达到代码重用的目的,实现在同一份代码上操作的多种类型2. 泛型相当于类型占位符,定义类或方法时使用替代符代表变量类型,当真正使用类或方法时再具体指定类型。
2025-08-14 14:52:45
385
原创 【C#补全计划】StringBuilder
string类型是特殊的引用,每次重新赋值或拼接时都会分配新的内存空间,如果一个字符串经常改变会非常浪费空间。
2025-08-12 18:33:24
415
原创 【C#补全计划】万类之父中的方法
1. Equals方法(1)作用:判断两个对象是否相等。最终的判断权交给左侧对象的Equals方法(2)值类型比较:判断值是否相等运行结果如下:(3)引用类型比较:判断引用地址是否相等运行结果如下:2. ReferenceEquals方法:(1)作用:比较两个对象的引用地址是否相等(2)值类型比较:始终返回false运行结果如下:(3)引用类型比较:判断引用地址是否相等。
2025-08-10 22:42:11
666
原创 【C#补全计划:类和对象(十)】密封
1. 关键字:sealed2. 作用:使类无法再被继承;在面向对象设计中,密封类的主要作用是不允许最底层子类被继承,可以保证程序的规范性、安全性。
2025-08-07 21:35:16
272
原创 【C#补全计划:类和对象(九)】接口
1. 概念:接口是行为的抽象规范,也是一种自定义类型2. 接口声明规范:(1)不包含成员变量(2)只包含属性、方法、索引器、事件(3)成员不能被实现(4)成员可以不写访问修饰符(默认public),不能是私有的(5)接口不能继承类,但是可以继承另一个接口3. 接口使用规范(1)类可以继承多个接口(2)类继承接口后,必须实现接口中所有成员4. 特点:(1)接口的声明和类的声明类似(2)接口是用来继承的(3)接口不能被实例化,但是可以作为容器存储对象。
2025-08-07 20:41:25
500
原创 【数据结构】双链表
与单链表相比,双链表增加了:1. tail:tail是尾节点的下标(即尾节点的位置),根据tail我们可以找到从数组的哪里开始访问2. prv:prv存储每个位置的prev指针(存储了上一个节点的下标,若为-1则代表没有前驱节点,即该节点为链表的第一个节点)
2025-08-05 23:04:54
682
原创 【C#补全计划:类和对象(八)】抽象类
1. 关键字:abstract2. 特点:(1)不能被实例化,但是遵循里氏替换原则(2)可以包含抽象方法(3)继承抽象类的类必须重写其抽象方法。
2025-07-26 11:49:25
155
原创 【C#补全计划:类和对象(七)】重写虚方法
运行结果如下:2. virtual:使父类的方法变为虚方法,可以被子类重写3. override:使子类的方法重写父类的方法。
2025-07-25 21:37:13
367
原创 【C#补全计划:类和对象(六)】里氏替换原则
1. 概念:判断一个对象是否为指定类的对象2. 返回值:布尔值。对象是指定类型的对象为true,不是为false3. 使用:语法:对象 is 类名。
2025-07-24 14:12:11
713
原创 【C#补全计划:类和对象(五)】继承
1. 若类A继承类B:那么类A将会继承类B的所有成员,类A将拥有类B的所有特征和行为。2. 被继承的类:称为父类、基类、超类3. 继承的类:称为子类、派生类4. 子类可以拥有自己的特征和行为5. 特点:(1)单根性:一个子类只能有一个父类(2)传递性:子类可以间接继承父类的父类。
2025-07-23 11:53:17
527
原创 【C#补全计划:类和对象(四)】内部类与分布类
1. 概念:在一个类中再声明一个类2. 特点:使用时用包裹类点内部类3. 注意:访问修饰符作用变得很大5. 在内部类中创建内部类6. 添加访问修饰符7. 使用内部类。
2025-07-22 12:12:52
467
原创 【C#补全计划:类和对象(二)】索引器
1. 创建成员变量2. 创建成员属性(属性使用帕斯卡命名法,即首字母大写,后面的每个单词首字母大写)3. 创建自动属性(一般用于外部只能获取,不能修改,且没有特殊处理的属性)4. 对属性进行控制5. 使用属性运行结果如下:(但是我还是更喜欢get、set方法,哈哈)6. get、set可以添加访问修饰符。
2025-07-20 12:55:16
328
原创 【C#补全计划】ref和out
若定义一个整型a=1,有一个函数:changeValue(int x),他的作用是将传入的变量值修改为100。现在将a传入该函数,再输出a的值,会是多少?运行结果如下:a的值没有被修改的原因:该函数的参数是值传递,传递的只是a的副本,修改也只是修改的副本,所以最终a的值没有发生变化。因此,引入一个关键字ref或out,将参数的传递改为引用传递,传递的是指向a的地址的指针,即修改的是指向a的地址的值,最终a会发生变化。
2025-07-18 12:50:39
463
原创 【C#补全计划】枚举
C#补全计划,是一个新的系列。这个系列适合有一定C、C++、Java语言基础(了解基本程序控制语句、面向对象、数据结构等)、并在为Unity开发做基础的同学学习。在这里,我们会学习到在别的语言中没有出现而在C#中新出现的知识点。并且在后面的学习中,也会对C#进行深入学习。
2025-07-17 16:09:07
622
原创 【Unity2D 2022:C#Script】DoTween插件的使用
DOTween 是一个快速高效完全类型安全的Unity面向对象的动画引擎,针对C#用户进行了优化,免费和开源,具有大量高级功能。
2025-02-01 23:12:26
1612
1
原创 【JavaSE基础】第十七章:反射+设计模式
1.反射(Reflection):允许在程序运行状态中,可以获取任意类中的属性和方法,并且可以操作任意对象内部的属性和方法,这种动态获取类的信息及动态操作对象的属性和方法对应的机制称为反射机制。(2) 类对象:类加载的产物,封装了一个类的所有信息(包、类名、父类、接口、属性、方法、构造方法等)(1) 类的对象(实例):基于某个类 new 出来的对象,也称为实例对象。(1) 通过类的对象,获取类对象。// 通过类对象 获取 类的对象。(2) 通过类名获取类对象。2.类对象 和 类的对象(实例)
2024-12-16 23:00:00
542
1
原创 【JavaSE基础】第十六章:IO流
java.io.FileNotFoundException: file\a.txt (系统找不到指定的文件)。int read():一次性读取一个字节,将读取的内容作为返回值进行返回,如果达到文件尾部,则返回-1。String readLine(): 一次性读取一行内容,返回值为 String ,达到文件尾部时,返回 null。参与对象序列化的对象对应的类,必须实现java.io.Serializable接口。如果对象的属性,是自定义类型的对象时,则该对象也必须是可序列化的。
2024-12-16 22:00:00
722
原创 【JavaSE基础】第十五章:多线程
1.进程:操作系统(OS)中,正在运行的一个应用程序(1) 执行原理:微观上串行,宏观上并行(2) cpu分配时间片,哪一个进程获取时间片,哪个进程执行2.线程:在一个进程中,可以同时执行多个任务,每一个任务就可以说是一个线程。线程是进程的执行单元,也称为轻量级进程。(1) 主线程:从main方法开始执行,以main方法的退出作为结束,即main函数是主线程的执行体。(2) 线程的组成部分:a. CPU:操作系统(OS)分配时间片。b. 数据:堆空间共享,栈空间独立。
2024-12-16 15:42:01
620
原创 【JavaSE基础】第十四章:异常
1.定义一个类继承异常类(1) 定义异常类继承了 Exception,则定义的为非运行时异常(2) 定义异常类继承了 RuntimeException,则定义的为运行时异常2. 提供两个构造方法(1) 无参数的构造方法(2) 带有字符串类型的参数构造方法。
2024-12-16 15:41:05
642
原创 【JavaSE基础】第十三章:集合
1.概念:一种操作便利的对象容器,存储多个对象,多数情况下可替代数组。2.位置:所有集合的接口和相关实现类都是位于 java.util 包中3.每一种集合的学习都是从以下方面学习: 集合接口的特点 集合接口中方法 集合接口对应的实现类 集合的遍历方式4.集合分类:Collection 集合List集合Set集合Map 集合。
2024-12-16 01:45:28
650
原创 【JavaSE基础】第十二章:常用API介绍
1. Object:位于Java.lang包中的类,是所有类的父类(直接父类或间接父类)(1)利用多态,Object可以存储任意类型的对象(2)通过继承关系,Object中定义的方法可以供所有类使用2. 常用的方法:(1)getclass():获取引用中实际的存储对象类型注意:实际开发时通常使用 == 判断两个引用中存储的实际对象类型是否一致(2)int hashCode():获取对象的哈希码值注意:不同的对象返回不同的哈希码值(来源:对象十六进制转换为十进制的整数结果)
2024-12-16 01:25:58
385
原创 【Unity2D 2022:Data】读取csv格式文件的数据
1. 打开Excel,创建xlsx格式文件2. 编辑卡牌数据:这里共写了两类卡牌,第一类是灵物卡,具有编号、卡名、生命、攻击四个属性;第二类是法术卡,具有编号、卡名、效果三个属性。每类卡的第一行以“#”开头,后面以卡牌类型单词开头3. 保存文件,导出为csv格式4. csv格式是将各个数据用逗号分隔,最终的效果如下所示:5. 创建一个名为Data的文件夹,将csv文件移动到此文件夹。
2024-07-27 17:26:06
1034
原创 【Unity2D 2022:UI】TextMeshPro组件无法显示中文
在Unity中创建了一个预制体Card,上面挂载了一些Text Mesh Pro组件用来显示卡牌信息。
2024-07-25 10:38:29
2157
原创 【Unity2D 2022:UI】无法拖拽TextMeshPro组件
将预制体Card挂载脚本CardDisplay用来在预制体上显示属性,并创建TextMeshPro对象来接收TextMeshPro组件。在预制体Card上挂载了四个Text Mesh Pro组件,分别命名为Name、HP、ATK、Description。保存后,返回Unity中,发现可以将Name、HP、ATK、Description游戏物体拖入对应的框中了。保存后,返回Unity中,发现无法将Name、HP、ATK、Description游戏物体拖入对应的框中。
2024-07-24 23:57:38
975
原创 【Unity2D 2022:UI】制作主菜单
一、创建主菜单游戏场景1. 在Scenes文件夹中新建一个游戏场景Main Menu2. 为场景添加背景 (1)创建画布Canvas (2)在Canvas中创建新的空游戏物体Main Menu(3)在Main Menu中新建一个图像游戏物体Background,并添加背景图片 (4)在Main Menu中新建一个文本游戏物体Tatle,并修改文本二、添加按钮组件1. 新建一个空游戏物体Butt
2024-07-11 23:18:23
2848
原创 【Unity2D 2022:NPC】制作任务系统
1. 编辑NPC对话脚本:(1)创建静态布尔变量用来判断ruby是否接受到任务(2)接受任务后可以射击2. 编辑角色脚本:(1)在shoot()方法中增加判断,如果接受到任务才可以射击,否则不射击。
2024-07-10 18:04:39
825
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅