
编程指南
文章平均质量分 68
拿起键盘就是干
人生没有重来
展开
-
C# 与 C/C++ 的交互
P/Invoke 是可用于从托管代码访问非托管库中的结构、回调和函数的一种技术。托管代码与非托管的区别托管代码和非托管代码的主要区别是内存管理方式和对计算机资源的访问方式。托管代码通常运行在托管环境中,如 mono 或 java 虚拟机等,这些环境提供了垃圾回收器(GC)等工具来管理内存。在托管环境中,程序员通常不需要手动分配和释放内存,因为这些任务由运行时系统自动完成。托管代码通常具有更高的安全性和可移植性,因为它们运行在虚拟机中,而不是直接在操作系统上运行。原创 2023-10-13 13:33:50 · 1823 阅读 · 2 评论 -
markdown语法笔记
1、代码块```Java(```+语言类型)```C#public classs Hello{ public void print() { Debug.Log("Here is done!"); }}2、标题//标题语法# 1级标题## 2级标题### 3级标题#### 4级标题1级标题2级标题3级标题4级标题3、字体//字体样式//加粗**加粗**//下划线<u>下划线</u>//原创 2022-05-25 20:43:54 · 197 阅读 · 0 评论 -
Newtonsoft.Json序列化库
Unity自己的Json序列化是不支持字典格式的,而且功能比较单一,这里介绍一个.Net中开源的Json序列化和反序列化库和基本用法以及常用的数据处理方法(github地址:https://github.com/JamesNK/Newtonsoft.Json/releases)(百度网盘:链接:https://pan.baidu.com/s/1S4cQW3NoU-g5AMPZ8VKzvQ 提取码...原创 2019-04-01 16:15:47 · 960 阅读 · 0 评论 -
Sourcetree的分支创建与合并
一、Sourcetree简单介绍通过Git可以进行对项目的版本管理,但是如果直接使用Git的软件会比较麻烦,因为是通过一条一条命令进行操作的。 Sourcetree则可以与Git结合,提供图形界面,使用会方便很多。Git和Sourcetree的安装这里就不多说,网上大把的教程。 二、分支的创建与合并1、创建一个远程仓库在GitHub官网上创建一个新的远程仓库:转载 2017-09-15 23:23:37 · 731 阅读 · 0 评论 -
委托,事件,回调,匿名函数与Lambda表达式详解
委托,事件,回调,匿名函数与Lambda表达式原创 2017-07-10 16:08:30 · 454 阅读 · 0 评论 -
浅谈MVC在Unity中的使用
首先我们先谈Unity3D本身的MonoBehavior脚本。MonoBehavior我们可以将他理解为界面层与界面直接沟通的上层脚本,在他底部的控制,逻辑,数据等有必要用MonoBehavior脚本么?如果在unity中我们进行开发时如果滥用MonoBehavior脚本,无疑会造成相当高的耦合度,并且当我们对程序进行迭代时会变得困难重重。所以在这里介绍MVC框架来对代码进行解耦。我们以创原创 2017-07-19 23:22:36 · 4535 阅读 · 1 评论 -
mysql数据库操作(一)
安装mysql的操作这里就不介绍了数据库建表操作,全是可视化界面,单词什么的都很简单直接创建在数据库下面见表就行。我们直接进入代码操作首先还是引入MySql.data.dll在VS项目下添加引用,目录为C:\Program Files (x86)\MySQL\Connector.NET 6.9\Assemblies\v4.5\MySql.Data.dll1.创建mysql数原创 2017-07-12 17:41:47 · 964 阅读 · 0 评论 -
服务端与客户端交互(三)
主要解决问题:粘包与分包1.什么是粘包:当我们客户端快速的向服务端发送短小消息时,服务端接受消息会出现粘包的情况,比如:当我没for循环的向服务端发送100次数字,而服务段可能只会受到10次消息,而其中发送的这些消息则是粘在了一起发送的,这就是粘包现象。2.出现粘包现象的原因:TCP是以流形式的,他会开辟一个缓冲区,发送端往其中写入数据 每过一段时间就发送出去 然后接收端接收到原创 2017-07-12 15:13:43 · 465 阅读 · 0 评论 -
服务端与客户端交互(二)
1.增加服务端异步的消息接收2.修改服务器端开启异步处理客户端的请求3.处理服务端处理客户端的连接正常关闭和非正常关闭1.异步接收客户端发送过来的消息,上一篇接受客户端消息是在主线程中等待客户端发送,会造成主线程运行阻塞,这里调整为异步接受主要方法:BeginReceive(字节数组,数组读取偏移,读取长度,SocketFlags.None,相应异步操作完成时回调方法,接受操作的相原创 2017-07-11 11:43:00 · 469 阅读 · 0 评论 -
匈牙利命名法规则
匈牙利命名法:原则:属性+类型+对象面数=变量名属性部分: g_全局变量c_常量m_成员变量s_静态变量类型部分:a数组i整形l长整形f浮点型。。。描述部分:最大Max最小Min初始化Init临时变量T源对象 Src目标对象 Dest原创 2017-03-11 20:38:02 · 848 阅读 · 0 评论 -
List.Sort()小技巧
List list = parentGo.GetComponents();list.Sort(delegate(UIPanel a, UIPanel b){ return a.depth.CompareTo(b.depth);});list.Sort((UIPanel a,UIPanel b )=> a.depth.CompareTo(b.depth));原创 2017-03-21 14:32:50 · 654 阅读 · 0 评论 -
对foreach进行内存优化
int[] (Array) 数组类型 使用 foreach 不会产生GC内存,使用GetEnumerator 产生GC内存 原因: 数组中的Enumerator 是对象类型这是intArray调用GetEnumerator产生GCAlloc的原因。List 泛型list类型 使用foreach会产生GC内存,使用GetEnumerator不产生内存。原因:泛型List原创 2017-04-19 10:09:41 · 1762 阅读 · 0 评论 -
服务端与客户端交互(一)
服务端与客户端交互原创 2017-07-10 13:26:49 · 956 阅读 · 0 评论