- 博客(44)
- 收藏
- 关注
原创 【C#】条件运算符
其他计算顺序:算数运算符(±*/%) > 条件运算符(><==) > 逻辑运算符(!优先计算顺序:逻辑非(!) > 逻辑与(&&) > 逻辑或(||)
2025-02-11 16:20:48
327
原创 【C#】Dictionary底层实现
Dictionary的键值对映射是通过哈希算法的函数建立的。这里不对哈希算法做过多的解释,算法本身就是将不定长度的键(可以是整数、字符串或对象)转化成一个固定值。
2024-11-02 21:23:26
1272
原创 【Unity】AssetBundle打包策略
在游戏开发过程中,AssetBundle(AB)打包策略的重要性不容忽视。游戏开发者往往手动设置游戏资源包名进行管理,难免会造成资源确实或导致冗余,因此对于AB包的打包流程来说,进行策略管理显得十分重要。采用打包策略管理整个AssetBundle打包流程,可以一键将你所需要的整个文件夹打成一个包、以及将特定文件夹下的每个资源单独打一个包,还会将这些资源所依赖的资源打进这个包里,不会产生冗余AB包,更容易进行管理。
2024-06-20 15:43:34
2067
1
原创 【C#】日期与时间
格里高利历(公元):例如2024年就是公元元年算起的两千零二十四年格林尼治时间(GMT):时间以伦敦本初子午线作为起始作为标准进行计算协调世界时(UTC):通过加入闰秒抵消地球自转的影响优化GMT,更准确计算时间。
2024-05-16 11:21:18
455
原创 【Unity】Mathf
Math是C#中封装好的用于数学计算的工具 类,Math位于System命名空间中。- Mathf是Unity中封装好的用于数学计算的工具 结构体,Mathf位于UnityEngine命名空间中。- Mathf比Math方法多,不仅包含Math中的方法 还多了适用于游戏开发的方法。
2024-05-04 11:24:25
569
原创 【MySQL】C# 连接MySQL
安装完MySQL之后,在安装的默认目录 C:\Program Files (x86)\MySQL\Connector NET 8.0 中查找MySQLData.dll文件。在Visual Studio 中为项目中添加引用。
2024-04-09 18:51:18
5221
2
原创 【C#】 List.Sort 方法
get {//传入的对象相当于0的位置 //other = 传入对象 //小于0: //放在传入对象的前面 //等于0: //保持当前的位置不变 //大于0: //放在传入对象的后面 if(this . Atk > other . Atk) {return 1;
2024-02-29 21:03:01
1966
原创 【Unity】对象池技术
对象池(Object Pooling)技术是一种用于优化游戏性能和内存管理的技术。对象池可以用于各种需要的场景,例如子弹、敌人、玩家等。其主要目标是减少频繁的内存分配和垃圾回收的次数,提高游戏的运行效率,从而提高性能和降低延迟。在对象池中查找池中隐藏的游戏对象,将其显示出来,以避免一直实例化新的游戏对象,导致游戏性能受到影响。
2023-12-24 22:45:18
787
原创 【Unity】单例模式及游戏声音管理类应用
在日常游戏项目开发中,单例模式是一种常用的设计模式,它允许在应用程序的生命周期中只创建一个对象实例,并提供对该实例的全局访问点。通过使用单例模式,可以提高代码的可维护性和可重用性。
2023-11-18 20:19:22
840
原创 【C#】泛型
泛型是将类型作为参数传递给类、结构、接口和方法,这些参数相当于类型占位符。当我们定义类或方法时使用占位符代替变量类型,真正使用时再具体指定数据类型,以此来达到代码重用目的。
2023-09-03 13:00:10
810
原创 【C#】常用的集合类型
常用的数据结构包括动态数组()、堆栈()、队列()和哈希表(),这些集合类型都是C#为我们封装好的类型,需要引入命名空间。
2023-08-27 23:15:52
729
原创 【C#】委托、匿名方法、Lambda表达式和事件
委托和类一样,是用户自定义类型,是方法(函数)的抽象。通俗讲,委托就是 自定义类型的方法(函数)的代表。
2023-07-01 17:59:58
518
原创 【C#】类与结构体的区别
Console . WriteLine("大家好,我是练习时长" + stuTime + "的" + name);} }Console . WriteLine("大家好,我是练习时长" + stuTime + "的" + name);} }从语法上来看,它们有异曲同工之妙,类里面的成员几乎都可以定义在结构体中。
2023-06-06 23:02:31
1573
原创 C# 实现快速排序
C# 实现快速排序过程拆解假设现有一数组,如下基本排序代码,如下static void Main(string[] args){ int[] array = new int[] { 3, 5, 2, 3, 8, 4 };//替换代码 int iIndex = BaseSort(array, 0, 5);//替换代码 for (int i = 0; i < array.Length; i++) { Console.Write(array[i]
2022-05-09 14:45:38
4003
原创 C# 实现选择排序
C# 实现选择排序过程拆解假设现有一数组,如下基本排序代码如下static void Main(string[] args){ int[] array = new int[] { 3, 5, 6, 2, 3, 8, 1 };//替换代码 BaseSort(array, 0, 6);//替换代码 for (int i = 0; i < array.Length; i++) { Console.Write(array[i] + " ")
2022-04-25 11:10:35
1936
原创 C# 实现冒泡排序
C# 实现冒泡排序过程拆解假设现有一数组,如下基本排序代码如下static void Main(string[] args){ int[] myarray = new int[] { 6, 5, 8, 7, 1, 2, 3, 5 };//替换代码 BaseSort(myarray, 0, 7);//替换代码 for(int i = 0; i < myarray.Length; i++) { Console.Write(myarray
2022-04-23 12:58:38
6576
原创 Unity 判断两物体碰撞方向
Unity 判断两物体碰撞方向问题描述:游戏玩家可以在两个平面之间不断进行跳跃,且出现玩家顶着上面平面飞着走的情况。问题原因:玩家碰撞体与平面不断进行碰撞体检测,导致游戏玩家可以不断进行跳跃。解决方案:1.在玩家角色脚下添加较小的碰撞体,用于检测玩家是否真正离开地面。(通常情况下)2.通过判断两物体之间碰撞接触点的法线方向,来判断玩家角色碰撞到的地方。这里主要介绍如何判断物体碰撞方向1. 遍历发生碰撞的接触点,并绘制出接触点的法线private void OnCollisionEnter
2022-03-28 19:58:58
7763
3
原创 C# Hashtable 与 Dictionary的不同
C# Hashtable 与 Dictionary的不同Hashtable 与 Dictionary 区别1.Hashtable添加的元素是object类型,而Dictionary添加的是指定(T)类型。2.Dictionary有泛型的优势,读取速度较快,容量利用更加充分。3.在foreach循环中,Dictionary可以取到子对象,而Hashtable不可以。哈希表 Hashtable使用Hashtable需要引入命名空间System.Collections。Hashtable中key/
2022-03-21 12:53:06
2164
原创 C#的5种访问修饰符
C#的5种访问修饰符1、public 公共的public 允许一个类将其成员变量和成员函数暴露给其他的函数和对象。任何公有成员都可以被外部的类访问。class Person{ public string name; public int age; public void SayHello() { Console.WriteLine("大家好,我叫{0},今年{1}岁了。", name, age); }}class Program{
2022-03-14 12:41:16
3509
1
原创 C# 数组、集合与泛型集合的不同
C# 数组、集合与泛型集合的不同三者区别:数组(datatype[ ]):存储的类型单一,且不能动态增加。集合(ArrayList):可以存储多种类型元素,还可以动态增加,但极大消耗资源。泛型集合(List<T>):存储的类型单一,但可以动态增加。数组数组在声明时,必须指定其存储类型,并且直接或间接分配内存空间,因此不能实现动态增加。数组的声明有4种,以【int】类型举例:int[] aArray = new int[3];//声明一个整型数组,并使用 new 关键字为其分配
2022-03-13 17:17:29
1800
原创 C# 数据流的读取操作
C# 文件流(FileStream)类文件流(FileStream)类,是用来实现对文件的读取和写入。FileStream是操作字节的字节数组,当提供向文件读取和写入字节的方法时,常用StreamReader类或StreamWriter类来完成,它们是操作字符的。1、文件流2、文本文件的写入与读取3、二进制文件的写入与读取...
2022-03-12 15:18:57
9595
原创 C# 里氏转换与is、as用法
C# 里氏转换与is、as用法1、里氏转换1、子类对象可以赋值给父类2、如果父类装的是子类对象,可以将这个对象强转化为子类的对象。public class Person{ public void SayHello() { Console.WriteLine("我是人类"); }}public class Student:Person{ public void SayHello() { Console.WriteLin
2022-03-12 09:39:12
578
原创 C# 关于类的继承的总结
C#类的继承1、父类和子类(基类和派生类)在类的继承中,被继承的类叫做基类(与派生类并提)或父类(与子类并提),继承的类叫做派生类或子类。子类继承父类的属性、方法等,但子类没有继承父类的私有(private)字段。public class Person{ public string _name; private int _age; public void SayHello() { Console.WriteLine("大家好,我是{0},我是
2022-03-06 22:41:29
4519
原创 C#字符串的操作及方法归纳(三)
C#字符串的操作及方法归纳(三)字符串的裁剪public String Trim(); //去掉字符串首尾默认字符(空格)public String Trim(params char[] trimChars); //去掉字符串首尾的自定义字符public String TrimStart(params char[] trimChars); //去掉字符串首部默认字符(空格)public String TrimEnd(params char[] trimChars); //去掉字符串尾部默
2022-03-05 15:26:01
479
原创 C#字符串的操作及方法归纳(二)
C#字符串的操作及方法归纳(二)字符串的分割public String[] Split(params char[] separator);字符串的合并字符串的插入字符串的填充字符串的删除
2022-03-05 13:40:54
498
原创 C#字符串的操作及方法归纳(一)
C#字符串的操作及方法归纳字符串的长度System.String类的属性:Length(代表字符串的长度)string str = "abcdefg";Console.WriteLine(str.Length);//输出:7字符串的大小写转换public String ToUpper(); //将字符串转化成大写形式public String ToLower(); //将字符串转化成小写形式string str = "AbCdEfG";Console.WriteLine("大
2022-03-05 11:35:30
643
原创 C# switch-case中变量名相同导致报错的解决方法
C# switch-case中变量名相同导致报错的解决方法解决方法,在相同变量的每个case:后面加{}报错代码:Console.Write("C#成绩:");int programScore = 80;switch(programScore / 10){ case 10: case 9: case 8: double gpa = programScore * 1.0; Console.WriteLine("绩点:{0:0.00}", g
2022-02-27 20:10:26
1488
原创 C#关于枚举(enum)类型与整型、字符串相互转换的总结
C#关于枚举(enum)类型与整型、字符串相互转换的总结首先,声明枚举类型的变量:[public] enum Subject{ Chinese, Math, English, AndroidDevelop, GameDevelop}注意:①【public】关键字视情况而定,可以不加。②最好是在命名空间下直接定义枚举,以便该命名空间中的所有类都能够使用。③最后一个值可以加【,】也可以不加。四种类型转换的方法:1. 枚举(enum)类型→整数(int
2022-02-23 09:17:52
8613
原创 C#常见变量类型和使用规则
C#常见变量类型和使用规则常见变量类型C#中值类型的变量主要包括整数类型、浮点类型、金钱(decimal)类型和布尔(bool)类型等。1.整数类型①int范围:-2 147 483 648 ~ 2 147 483 647大小:32位有符号整数②short范围:-32 768 ~ 32 767大小:16位有符号整数③long范围:-9 223 372 036 854 775 808 ~ 9 223 372 036 854 775 807大小:64位有符号整数④… …注意:整数类型
2022-02-20 10:54:23
1513
原创 IIS发布.NET Core项目出现HTTP错误500.19 - Internal Server Error[错误代码:0x8007000d]
IIS发布.NET Core项目出现HTTP错误500.19 - Internal Server Error[错误代码:0x8007000d]IIS管理器浏览网站,页面显示情况:尝试添加所有权限的用户、IIS重装重启都无法解决问题。打开IIS管理器,查看环境是否配置。步骤:打开IIS管理器,点击模块查看是否缺少【ASPNETCoreModuleV2】若缺少【ASPNETCoreModuleV2】,到微软官网下载运行组件。选择.NET版本,这里使用.NET 5进行操作。
2022-01-23 11:21:48
16436
21
原创 C#基于数据类型解读装箱拆箱
【C#知识模块】基于数据类型解读装箱拆箱了解C#的装箱和拆箱的原理,首先要了解数据类型的存储。在C#中有两种基本类型,分别是值类型和引用类型。两中
2021-12-31 22:35:44
288
原创 Unity Vector3.Dot(VectorA, VectorB)
Unity Vector3.Dot(VectorA, VectorB)Vector3.Dot(VectorA, VectorB) 等于 VectorA * VectorB。而对于两个向量的乘积计算如下:
2021-11-21 19:58:30
6050
原创 【C#】构造函数与析构函数
类的构造函数是类的一个特殊的成员函数,。默认的构造函数是没有任何参数的,可以重新设置无参数的构造函数,也可以为构造函数设置参数,构造函数的名称必须跟类名一样。1.默认使用构造函数。2.定义多个不同形参的构造函数。
2021-10-28 13:42:47
4213
4
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人