随笔分类 - C#学习小例子
摘要:今天又学到了新知识,开发中,客户端可能需要替换配置文本里面的一些参数,比如下面这句战报文本: {s}悍然出击,刹那间对{s}造成<color=#FF0000>{s}</color>伤害 最初是把{}里面都配置成了s,正则表达式获取{}里面的内容进行循环替换,但是发现输出有问题,因为Replace方法
阅读全文
摘要:实际游戏开发中,经常会有这种需求,比如玩家当前精通值1500,需要判断玩家当前的精通评价,如表。 按1500精通值,那么区间在1000~2000之间,玩家当前的正确评价是【略知一二】 首先最容易想到的循环遍历比对方式,没问题,但似乎有点僵硬,想着是不是可以改进一下 public SwordProfi
阅读全文
摘要:ET框架最后的DB模块,尝试了一些MongoDB在C#中的基本操作,便于理解ET的相关方法。需要说明的一点,对象保存为文档时,private成员不会保存,public和protected成员会被保存,可以添加[BsonIgnore]标签忽略掉。 官网教程:https://docs.mongodb.c
阅读全文
摘要:ET框架的Component和System的配合大量使用了扩展方法,扩展方法可以在类B定义类A的方法,使A可以直接调用。 using System; namespace Example { class Program { static void Main(string[] args) { Stude
阅读全文
摘要:ET框架的配置模块用到了partial class语法,顾名思义,可以叫部分类或者不完全的类,即同名的多个partial class会视为同一个类对象。一般在不想更改本体内容的情况下又想额外增加内容,比如ET配置StartSceneConfigCategory : ProtoObject和Start
阅读全文
摘要:ET框架的协程锁用到了Expression<Func<int, bool>> expression,网上查询一下是表达式树,联动了解委托和Lambda表达式,写了几个对比小例子增进理解。 using System; using System.Collections.Generic; using Sy
阅读全文
摘要:没什么好说的,代码注释写的很详细,4个简单例子,没有高深语法,复制到编辑器运行看看注释应该就能理解了,我也是萌新,对这2个概念一直比较迷惑,分享出来共同进步。 using System; using System.Threading.Tasks; namespace TestAsync { clas
阅读全文