- 博客(15)
- 收藏
- 关注
原创 C#编程新技能:深入结构体,提升你的编程实力!
C#中的struct是值类型数据结构,用于存储小型数据(如坐标点)。它支持构造函数、方法、属性和事件,但不能包含无参构造函数。struct对象可通过new关键字创建(自动初始化成员默认值)或直接声明(需手动初始化)。相比类,struct性能更高但传输不便,适合游戏开发等场景。struct常用于数据存储而非继承场景,需注意成员初始化规则以避免编译错误。
2025-12-18 18:17:37
247
原创 C# 编程必看:掌握值类型与引用类型,让你的代码更高效!
C#中值类型与引用类型的核心区别在于内存分配和访问方式:值类型直接存储数据(栈或堆),继承自System.ValueType;引用类型通过指针访问堆中数据,继承自System.Object。装箱将值类型转为引用类型(堆分配),拆箱反向操作。频繁装箱拆箱会降低性能,应尽量使用泛型集合避免。理解这两种类型的差异对编写高效可靠的C#代码至关重要,可有效解决变量传递异常和内存管理问题。
2025-11-12 21:34:33
467
原创 探索C#:揭开编程界的神秘面纱
C#是一款强大且易学的面向对象编程语言,具备跨平台、高效开发等特点。它拥有现代化的语言特性如LINQ、异步编程,并通过Visual Studio等工具提供完善开发环境。C#支持值类型(直接存储数据)和引用类型(存储对象引用),并自动管理内存。适用于Web、游戏(如Unity)及企业开发,是初学者和技术拓展的理想选择。
2025-11-11 12:35:43
723
原创 计算机网络之TCP 常见问题
TCP三次握手和四次挥手是建立和终止可靠连接的关键机制。三次握手通过SYN/ACK包交换确认双方通信能力,防止无效连接请求:客户端发送SYN→服务器回复SYN+ACK→客户端确认ACK。而四次挥手允许半关闭状态:客户端发送FIN→服务器ACK确认后继续发送数据→服务器发送FIN→客户端ACK确认后关闭连接。这种差异是由于连接建立需要确保可靠性,而关闭时需要保证数据传输完整性。三次握手避免资源浪费,四次挥手支持优雅终止。
2025-11-07 22:36:04
423
原创 八大排序算法概述
内部排序算法分为比较排序和非比较排序两大类。常见的比较排序包括冒泡、选择、插入、希尔、归并、快速和堆排序,时间复杂度下限为O(nlogn);非比较排序如计数、桶和基数排序,在特定条件下可达O(n)。传统八大排序算法主要包含基于比较的七种(冒泡、选择、插入、希尔、归并、快速、堆)以及基数排序。每种算法各有特点,在时间/空间复杂度、稳定性方面表现不同,适用于不同场景。非比较排序虽然效率高,但通常需要满足特定数据条件才能使用。
2025-11-06 21:33:09
548
原创 C++中重载、重写、隐藏的区别
摘要:本文详细解释了C++中重载(Overloading)、重写(Overriding)和隐藏(Hiding)的区别。重载指同一作用域内同名函数但参数不同;重写是派生类重新定义基类的虚函数,要求函数签名相同;隐藏则是派生类函数屏蔽基类同名函数,不论参数是否相同。文中通过代码示例分别说明了这三种机制的具体表现和使用场景,帮助开发者准确理解这些重要概念。
2025-11-05 15:39:15
398
原创 Unity高频面试题考点之-操作系统
摘要:操作系统是计算机系统的核心软件,负责管理硬件资源、协调程序运行并提供用户交互界面。其主要功能包括资源管理、程序调度、设备控制和文件处理等。进程是程序的动态执行实体,具有独立性、并发性和动态性,是资源分配的基本单位。进程包括文本、数据和堆栈区域,通过进程控制块(PCB)管理状态信息。线程是进程内的执行单元,系统调度的基本单位。一个进程可包含多个线程,实现多任务处理。Windows和UNIX系统中,进程管理方式有所不同,但都遵循多道程序设计原则。
2025-11-03 00:35:35
738
原创 生命周期函数
Unity中的生命周期函数(也称为回调方法或事件函数)是MonoBehaviour类中的一系列方法,它们在特定的时间点自动被Unity调用。这些函数为开发者提供了在特定时刻执行代码的机会,比如当对象被创建、更新、销毁时,或者当对象接收到特定的事件时。1.Awake()当脚本实例被加载时调用。常用于初始化变量或组件。在所有对象的Awake()被调用完毕后,才调用Start()。当对象变为可用(active)时调用。
2024-10-12 17:37:18
512
原创 Unity中常用的API及其详解
Unity是一个广泛使用的游戏开发引擎,它提供了大量的API(Application Programming Interface,应用程序编程接口)来帮助开发者创建游戏和交互式内容。Transform是Unity中每个游戏对象的核心组件,它包含了对象的位置(Position)、旋转(Rotation)和缩放(Scale)信息。这些只是Unity中常用API的一部分,实际上Unity提供了大量的API和功能来支持游戏开发的各种需求。
2024-10-10 14:35:35
1752
原创 Unity中UGUI事件系统(一)
实现接口IPointerClickHandler(鼠标点击)、IPointerEnterHandler(鼠标进入)、IPointerExitHandler(鼠标移出)、IPointerDownHandler(鼠标按下)、IPointerUpHandler(鼠标松开)、UIEventClick脚本挂载到需要点击的UI上。1. 添加UIEventSelect脚本,该脚本实现了ISelectHandler(选定),IUpdateSelectedHandler(选中),IDeselectHandler(未选中)。
2024-05-27 23:10:51
2180
原创 Unity之二进制文件序列化
与文本文件(如XML或JSON)不同,二进制文件将数据以字节序列的形式存储在文件中,而不是以人类可读的文本形式。需要注意的是,尽管二进制文件具有许多优点,但在某些情况下,使用文本文件(如XML或JSON)可能更为合适。:二进制文件可以更有效地存储数据,因为它们不需要为数据中的每个元素(如数字、字符串等)添加额外的格式或分隔符。:在读取或写入二进制文件时,计算机可以直接处理字节序列,而无需进行复杂的文本解析或格式转换。这意味着人类无法直接查看或编辑二进制文件中的数据,需要使用专门的工具或库来进行解析和处理。
2024-05-26 18:21:01
1052
原创 Asset资产创建以及加载
在Unity中,Asset是指用于游戏或应用程序开发的各种资源,如模型、材质、纹理、声音、动画、脚本等。这些资源是Unity项目的重要组成部分,它们共同构成了游戏或应用程序的内容和外观。要创建Unity中的Asset,你可以通过以下几种方法:2. 从外部导入:大多数外部资源(如图片、音频文件、视频和模型)都是从其他软件(如Photoshop、Blender等)中创建的,然后导入到Unity中。你可以通过Unity的导入功能将这些外部文件转换为Unity可以识别的Asset格式。
2024-05-25 15:50:28
1533
原创 XML序列化
XML不是特定于Unity的,但它是一种在许多不同的软件系统中都广泛使用的通用数据格式。尽管XML是一种流行的数据格式,但在某些情况下,其他格式(如JSON)可能更为适合,因为它们可能具有更小的文件大小、更快的解析速度或更简洁的语法。Unity项目本身不直接使用XML,但开发者可以使用XML来存储和加载游戏数据,如角色属性、关卡设置、游戏配置等。XML文档由元素组成,这些元素可以包含文本、属性以及其他元素。XML的“可扩展”意味着开发者可以定义自己的标签和元素结构,以适应特定的应用需求。
2024-05-24 17:43:21
594
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅