
技术总结
文章平均质量分 96
达也酱
学习使我快乐
展开
-
深入理解C#的协变和逆变及其限制原因
本篇文章的主题:变体(Variance),上面的object[] objArray = strArray形式被称为协变,此外还有另一种变体形式被称为逆变(一些书籍或文章翻译为抗变)。变体的主要形式包括协变(Covariance)和逆变(Contravariance),后面我会使用What-Why-How的方式逐个说明这两个概念。原创 2023-02-27 14:56:22 · 2093 阅读 · 1 评论 -
ios平台alternate icon配置注意事项
ios支持动态更换用户的appicon,要实现这个功能,一共需要进行三步操作。详细的接入方式在很多文章中都已经有分享了,所以本文中也不会将具体步骤展开细讲,重点会放在接入过程中所遇到的坑点。...原创 2022-06-20 23:19:03 · 1928 阅读 · 0 评论 -
基于LuaInterface理解跨语言交互的原理
文章目录一、跨语言调用的定义及四个疑问二、理解C#与Lua间的跨语言调用1. lua的简单介绍2. LuaInterface是什么3. LuaInterface的结构4.KopiLua的实现方式5. 回答文章开头的四个疑问1. 两个语言之间的联系是如何建立起来的?2. 一个数据是怎样从一个语言转换到另一个语言的?3. 一个语言是如何实现对另一个语言的函数的调用的?4. 两个语言之间如何查找到对应的值或函数?6. 总结:LuaInterface所做的工作三、虚拟机1. 虚拟机的定义2. 常见的虚拟机及对应的原创 2021-06-06 19:12:49 · 1387 阅读 · 0 评论 -
游戏开发小技巧记录(一)——目录连接
文章目录序定义应用使用方法举例其他平台扩展参考链接阅读本文你可能需要的前置知识:windows命令行使用shell脚本使用版本控制管理序在这几年的开发过程里遇到了一些问题,在解决问题的过程中学习到了一些非常有用的小技巧,于是准备逐个记录一下。这些小技巧在成熟的公司或项目里可能会很常见,但对于个人开发者或者初创团队而言往往是一些盲区,有的可能是完全没有接触过,有的可能是没想过可以这么使用。记录下来,希望可以对其他人有所帮助。这一篇文章要讲的是目录连接定义目录链接这个词是微软在msdn原创 2021-01-23 14:12:48 · 447 阅读 · 1 评论 -
C#迭代器的实现和应用(二)——延迟执行、流式处理与两个基本LINQ扩展的实现
文章目录一、拾遗——从管道折返的思考两种实现的行为区别测试两种实现的行为区别——延迟执行延迟执行的本质3. 延迟执行的本质3. 延迟执行时迭代器的调用时序简化我们的where和select一、拾遗——从管道折返的思考我之前有在《对“管道”的进一步理解》一文中提实现过一个自制的简单管道,用于逐步抽象,以说明管道思想的使用,但是实际上我那次的实现的Where、Select函数与LINQ中提供的函数仍然有所区别:我的实现本质上是对每一次操作都进行迭代并创建新的集合,而在LINQ中提供的Where和Selec原创 2020-12-19 22:29:44 · 1002 阅读 · 0 评论 -
C#迭代器的实现和应用(一)——基础篇
文章目录一、拾遗——从管道折返的思考两种实现的行为区别测试两种实现的行为区别——延迟执行二、迭代器的完整实现1. foreach的实现2. 迭代器的实现方式3. 延迟执行的本质三、实现与linq一致行为的where和select1. 实现where2. 实现select3. 延迟执行时迭代器的调用时序四、yield简化迭代器——C#的努力迭代器的实现简化简化我们的where和select从yield看到的新功能——unity协程阅读本文需要一定的前置知识:C#泛型委托的使用LINQ的使用方式原创 2020-12-16 23:49:19 · 5076 阅读 · 3 评论 -
对“管道”的进一步理解
文章目录起因为什么叫"管道"从循环说起一. 典型问题二. 循环迭代处理三. 管道处理1. 手写管道2. 提取操作3. 使用泛型4. 使用LINQ5. 其他语言四、语言之外的扩展起因近来在看《重构(第二版)》,里面有提到一个重构模式是“以管道取代循环(Replace Loop with Pipeline)”,这让我想起来去年年初的时候学习C++在powershell上的遇到的“管道”,当时还专门写了一篇博客记录了一下:Windows PowerShell的“管道”以及对可执行文件的文件重定向,加上最近又在原创 2020-11-22 22:48:36 · 1479 阅读 · 5 评论 -
Unity中安卓平台的Theme设置
文章目录安卓Theme的简单说明Unity使用安卓Theme的设置Unity的Theme配置方式特别需要注意的点最近项目申请整理谷歌商店的推荐位,谷歌审核人员提出Theme过时,要求对于App使用Theme.AppCompat或Theme.Material及其派生的主题,而对于这方面的说明,网上基本都是安卓原生的设置方式,用在unity上并不管用,折腾了我一天,终于理清楚了unity在安卓平台的theme设置方式,这里简单做一个记录。安卓Theme的简单说明我们都知道,安卓到现在已经出到了安卓10,在原创 2020-06-19 01:08:20 · 3637 阅读 · 0 评论 -
Unity面试和总结分析(五)
文章目录题目0,热个身题目1,关于C#中String的编码格式题目1的正确答案题目2,关于C#中new String的问题题目2的正确答案今天参加了一场面试,其中有几个关于c#中string的题目我觉得很有意思,这里拿出来分享一下。题目0,热个身题目内容:在C#中,对一个string str赋值,str = null和str = ""有什么区别?这个问题很简单,我们都知道在C#中,str...原创 2020-03-26 01:03:01 · 545 阅读 · 0 评论 -
Unity面试和总结分析(四)
文章目录1. 如何制作一个具有三百个物品的背包系统2. transform.find和gameobject.find有什么区别3. 冒泡排序的原理4. 队列和栈之间的区别,以及它们的应用距离上次找工作过去了一年多,因为一些情况从公司离职了,又一次开始了找工作的路,想想一年多的开发,还是学习到了不少东西的,不过也因为使用了一年多的cocos2dx和C++,中间又在业余时间玩了一段时间的cocosc...原创 2020-03-04 13:02:11 · 315 阅读 · 0 评论 -
关于cocos2dx中scheduleUpdate和schedule方法的一点测试
文章目录缘起主要思考的问题开源项目的优势——查看源码1.底层主循环结构——Scheduler的update2.update的实现缘起由于我是从unity转做的cocos2dx,在unity中仅提供了三个update方法:fixupdate、update和laterupdate,分别有不同的调用时序,但在cocos2dx中除了普通的update以外,还提供了schedule这样一个骚操作,一直对...原创 2019-04-30 12:28:30 · 1500 阅读 · 0 评论 -
关于C++中class关键字的一种特别使用情况
今天在写代码时遇到了这样一个错误:error: must use ‘class’ tag to refer to type ‘XXX’ in this scope上面的这个XXX是一个类的类名。搜来搜去也没找到原因,经过一段时间的折腾我发现了问题所在:其本质是同一个关键字被两次声明造成的。复现案例如下:在类A之前声明了一个函数A,最后在类B中声明一个类A的对象并调用A的构造函数。/...原创 2019-03-22 16:42:42 · 5134 阅读 · 1 评论 -
Windows PowerShell的“管道”以及对可执行文件的文件重定向
文章目录起因PowerShell管道从文件传入输出到文件把指令连接起来总结起因在C++ Primer中文第五版的第19页中,书上提到了一个文件重定向的功能:由于我最近一直使用powershell进行编译和运行,在使用时发现这么写并不能正常运行,会提示如下信息:“<”运算符是为将来使用而保留的。+ CategoryInfo : ParserError: ( : ...原创 2019-01-27 00:45:04 · 8154 阅读 · 4 评论 -
Unity面试和总结分析(三)——几个简单却容易被忽视的坑
有人说编程就是一个踩坑的过程,踩过的坑越多,会的就越多,能力也会越来越完善,我觉得是有一定道理的。在这段时间的面试里,就遇到了一些很低级却可能注意不到的坑,以下用面试题的形式逐题来分析一下。注意,在这种题目中,不要在意语法问题,多数情况可能会使用伪代码编写。1.unit类型的使用有如下一段代码,运行后会发生什么: for(uint i=10;i>=0;i--) ...原创 2018-11-03 22:05:00 · 1590 阅读 · 0 评论 -
Unity面试和总结分析(二)——编程基础之进程、线程、协程
从这一篇开始,仔细写写具体面试题目。Unity的相关知识一般分为三大类型:编程基础、Unity功能、Unity相关的图形学,因此面试题也可以大致分成这三类。这一篇先总结一下这段时间面试遇到的编程基础题目。在这段时间遇到的所有笔试中,编程基础全无一例外都出现了,而其中出现最多的是排序算法,由于Unity做网游的项目也非常多,因此网络编程也会偶尔出现一些,此外还有一些考验细节性的题目,如果平时注...原创 2018-11-03 15:57:00 · 757 阅读 · 0 评论 -
ToLua框架下C#与Lua代码的互调
Lua是目前国内使用最多的热更语言,基于Lua的热更框架也非常多,最近学习了一下ToLua的热更框架,主要使用的问题在于C#和Lua之间的互调,因此做一下学习记录以备后查。所谓“互调”,当然要包括两个方面,一是通过C#调用Lua代码,二是通过Lua代码调用C#脚本,第二点还包括注册在C#脚本里的Unity物体。1. ToLua的简单实现原理ToLua框架主要是通过静态绑定来实现C#与Lu...原创 2018-11-11 18:06:00 · 13162 阅读 · 0 评论