随笔分类 - c#
摘要:通过上一篇博客《匹夫细说C#:庖丁解牛聊委托,那些编译器藏的和U3D给的》的内容,我们实现了使用委托来构建我们自己的消息系统的过程。但是在日常的开发中,仍然有很多开发者因为这样或那样的原因而选择疏远委托,而其中最常见的一个原因便是因为委托的语法奇怪而对委托产生抗拒感。 因而本文的主要目标便是介绍一些
阅读全文
摘要:0x00 前言由于工作繁忙所以距离上一篇博客已经过去一个多月的时间了,因此决心这个周末无论如何也得写点东西出来,既是总结也是分享。那么本文主要的内容集中在了委托的使用以及内部结构(当然还有事件了,但是受制于篇幅故分为两篇文章)以及结合一部分Unity3D的设计思考。当然由于时间仓促,文中难免有一些疏...
阅读全文
摘要:在日常的工作中,偶尔能遇到这样的问题:“为何游戏脚本在现在的游戏开发中变得不可或缺?”。那么这周我就写篇文章从游戏脚本聊起,分析一下游戏脚本因何出现,而mono又能提供怎样的脚本基础。最后会通过模拟Unity3D游戏引擎中的脚本功能,将Mono运行时嵌入到一个非托管(C/C++)程序中,实现脚本语言和“引擎”之间的分离。
阅读全文
摘要:0x00 分类 C#语言规范主要有两个来源,即我们熟知的ECMA规范和微软的规范。尽管C#的ECMA规范已经前后修订4次,但其内容仅仅到C# 2.0为止。所以慕容为了方便自己和各位方便查询,在此将常见的C#规范总结一下。 0x01 微软标准 这里提供的内容,都来自于微软官网。 C# 5.0 (201
阅读全文
摘要:写篇小文来聊聊在Mac上如何使用Visual Studio Code编译和调试C#代码,最后匹夫也会尝试把Visual Studio Code嵌入Unity3D中,作为一个准“IDE”使用。
阅读全文
摘要:0x00 前言在匹夫的上一篇文章《匹夫细说C#:不是“栈类型”的值类型,从生命周期聊存储位置》的最后,匹夫以总结和后记的方式涉及到一部分迭代器的知识。但是觉得还是不够过瘾,很多需要说清楚的内容还是含糊不清,所以这周就专门写一下c#中的迭代器吧。0x01 你好,迭代器首先思考一下,在什么情景下我们需要...
阅读全文
摘要:0x00 前言: 匹夫在日常和别人交流的时候,常常会发现一旦讨论涉及到“类型”,话题的热度就会立马升温,因为很多似是而非、或者片面的概念常常被人们当做是全面和正确的答案。加之最近在园子看到有人翻译的《C#堆vs栈》系列,觉得也挺有趣,挺不错的,所以匹夫今天也想从存储位置的角度聊聊所谓的值类型,同时也
阅读全文
摘要:前言上一篇文章匹夫通过CIL代码简析了一下C#函数调用的话题。虽然点击进来的童鞋并不如匹夫预料的那么多,但也还是有一些挺有质量的来自园友的回复。这不,就有一个园友提出了这样一个代码,这段代码如果被编译成CIL代码的话,对虚函数的调用会使用call而非callvirt:override string ...
阅读全文
摘要:CIL究竟应该使用call呢还是应该使用callvirt呢?那么匹夫就和各位一起去分析下这个话题背后的故事吧~~从ILGenerator实现一段本该报错的代码,到揭露CIL代码中的call 和 callvirt的异同,探索c#方法调用背后隐藏的知识点。
阅读全文
摘要:之前匹夫也介绍过CIL其实也是面向对象的,所以寻思着大过年的,不如就写一个类,一个用来抽象化小匹夫的类吧,既可以介绍下小匹夫,小匹夫也可以借这个类给各位拜年。那么顺序由上到下,无外乎如何声明一个类,类成员如何定义,以至于到后来如何实例化一个类,并且调用实例的各个方法,当然本文的完整CIL代码各位可以在附录部分看到。
阅读全文
摘要:以上一篇文章中的那个CIL实现的Hello Wolrd程序为基础,继续通过写CIL代码实现一些功能的方式来和各位探讨交流,同时也加深自己对CIL的掌握和印象。会涉及:函数的实现,局部变量的声明,cil是如何依托堆栈执行命令的,以及装箱~~~
阅读全文
摘要:为何是CIL?难道不能直接从C#,VB...编译成机器码码?那为何又是栈式机?难道不能是内存,寄存器吗?详细分析一下这两个问题之后,再让我们从Hello World开始书写CIL的旅程吧!
阅读全文
摘要:终于来到咱们经常争论的火药桶话题了,到底C#和Unity3D里的JS谁好呢?
最常见的问题无非是:用js写的u3d游戏和用c#写的u3d游戏,到底谁的运行效率高啊?
最常见的回答无非是:肯定是C#啊,因为js是动态的。肯定不如编译的语言好。
第二常见的问题无非是:用js开发和用c#开发,哪个更快更适合我啊?
第二常见的回答无非是:js适合个人开发,敏捷快速。c#适合公司开发,规范严谨。
阅读全文
摘要:前言:首先,小匹夫要祝各位看官圣诞快乐,新年愉快~。上一篇文章《自己动手,实现一种类似List的数据结构(一)》 介绍了一下不依靠List实现的各种接口,仿造一个轻量级数据结构的过程。可能有的看官会有一些疑问,例如一些功能可以通过Linq提供的拓展来实现呀。此言不虚但也不全对,为了我们在工作中能方便...
阅读全文
摘要:前言上一篇文章《Unity3D中常用的数据结构总结与分析》简单总结了一下小匹夫工作中经常遇到的一些数据结构。不过小匹夫一直有种观点,就是光说的热闹实际啥也不做真的没啥意思。光说不练假把式,那么这篇文章不如记录一下小匹夫自己动手实现一个有类似功能的数据结构的过程吧。模仿List寻思半天,写代码是为了啥...
阅读全文
摘要:前言:最近小匹夫参与的游戏项目到了需要读取数据的阶段了,那么觉得自己业余时间也该实践下数据相关的内容。那么从哪入手呢?因为用的是Unity3d的游戏引擎,思来想去就选择了C#读取XML文件这个小功能。网上的例子倒也不少,但总是觉得缺点什么。比如读取xml文件之后该如何处理?看到的文章基本上都是手动创...
阅读全文