自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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】AB包下载

结束回调

2024-01-21 22:56:21 1577

原创 【AssetBundles-Browser-master】AB包打包工具

AssetBundles-Browser-master 官方打包工具。

2024-01-14 20:38:36 497

原创 【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

原创 Unity 在UI面板显示物体

Unity 在UI面板显示物体

2022-08-23 20:09:54 4171 1

原创 C# 实现希尔排序

C# 实现希尔排序

2022-08-12 11:21:56 702

原创 常用的面向对象设计原则(C#版)

初学设计模式7大设计原则

2022-07-12 17:29:28 321

原创 C# 实现插入排序

C#实现插入排序:通过过程拆解,分析如何实现排序

2022-06-18 19:35:18 1260

原创 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# File类处理文件的常用方法

C# Systemo.IO命名空间下的Path类和File类1、Path类方法说明2、File类

2022-03-11 15:01:52 1883

原创 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

AssetBundles-Browser-master

AssetBundles-Browser-master,AB包官方打包工具

2024-01-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除