随笔分类 -  c#学习笔记

摘要:百度上搜索C# 如何父类运行时转换成子类,没有得到相应答案,突然想起C# 有dynamic类型试试看结果成功了。。。以后编写代码类似这样的代码 就可以删减掉了if (en.type == EMapEntity.Construction) { en.construction = new ConstructionPOD(); ... 阅读全文
posted @ 2019-07-07 19:59 盘子脸 阅读(834) 评论(0) 推荐(0)
摘要:上一篇: http://www.cnblogs.com/plateFace/p/6490577.html 上次编写代码只是把逻辑编写出来, 对于里面的代码还存在一下问题 1. 搜索功能没有解耦 2. 添加新的搜索,只能修改源代码 3. 消除大量switch 搜索器: using System.Collections; using System.Collections.Generic; using... 阅读全文
posted @ 2018-03-20 12:40 盘子脸 阅读(715) 评论(0) 推荐(0)
摘要:当你提供函数,外部因为要传入不同参数个数,重载会导致 外部if增加, 默认参数可以消除外部的if.当外部调用函数需要判断调用那个函数,根据调用次数增多 if跟着调用持续增多两种不同的调用 //重载 if(a != null) Test(a) else Test() 默认参数 Test(a) Test(a = null) { if(a == n... 阅读全文
posted @ 2017-11-27 11:25 盘子脸 阅读(1115) 评论(0) 推荐(0)
摘要:在平时开发游戏过程中,遇到一些编写代码很繁琐的问题. 我发现我团队中每个人都会遇到,就算打写出来分享下经验. 条件断点 利用IDE提供的工具, 右键断点的时候 输入条件, 当条件达成的时候,断点才能命中. (以前不知道这个功能总是要关闭游戏->编写代码-> 重新运行游戏 –> 查看结果 这个流程非常麻烦) class Program { static void Mai... 阅读全文
posted @ 2017-11-09 17:10 盘子脸 阅读(4034) 评论(0) 推荐(1)
摘要://#define CONDITION1 #define CONDITION2 using System; using System.Diagnostics; class Test { static void Main() { //Console.WriteLine("Calling Method1"); Method1(3); ... 阅读全文
posted @ 2017-03-08 15:34 盘子脸 阅读(492) 评论(0) 推荐(0)
摘要:using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Reflection; namespace ReflectTools { class Program { ... 阅读全文
posted @ 2017-02-17 16:15 盘子脸 阅读(1462) 评论(0) 推荐(0)
摘要:中介者模式(Mediator Pattern):定义一个中介对象来封装系列对象之间的交互。中介者使各个对象不需要显示地相互引用,从而使其耦合性松散,而且可以独立地改变他们之间的交互。 类图: Mediator 让Colleague们互相交互的一个抽象 Colleague 定制互相交互的规定 ... 阅读全文
posted @ 2017-01-10 11:47 盘子脸 阅读(182) 评论(0) 推荐(0)
摘要:Facede模式: 把内部系统复杂隐藏,提供一个方便统一的接口. 微波炉在界面简单操作下就可以烹饪出美味佳肴, 微波炉内部运作原理,各个组件互相交互运作,使用者并不需要关心. 而且关心的话可能没有多少人会使用微波炉. 假设系统组成: Facade类明显是提供外部简单的操作, 实现Audio和Fight,SubSystem初始化的类. 阅读全文
posted @ 2017-01-09 16:50 盘子脸 阅读(167) 评论(0) 推荐(0)
摘要:让一个对象随着内部的状态改变而发生改变. 状态的两种切换方式: 1) 完全交给Context类切换, 2) 给Context初始化状态,其他的切换根据每一个State类进行切换,Context对象不再介入 namespace ConsoleApplication21 { class Program { static void ... 阅读全文
posted @ 2017-01-09 16:04 盘子脸 阅读(498) 评论(0) 推荐(0)
摘要:using System; using System.Collections; using System.Collections.Generic; using System.Reflection; using System.Text; public class RefPrint { public static PrintLog PrintTool; private sta... 阅读全文
posted @ 2016-07-21 17:17 盘子脸 阅读(495) 评论(0) 推荐(0)
摘要:using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication1 { class Program { static void Main... 阅读全文
posted @ 2016-05-30 22:56 盘子脸 阅读(731) 评论(0) 推荐(0)
摘要:using System; enum Move { walk, run } class Program { static float[] speedAry = { 50.0f, 200.0f }; public static Move move = ... 阅读全文
posted @ 2015-12-12 14:58 盘子脸 阅读(1211) 评论(0) 推荐(0)
摘要:代码如下: 在Documents1方法中使用yield return之后, 下次在进入Documents1方法就是从上一次yield return部分执行 using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using... 阅读全文
posted @ 2015-07-25 00:21 盘子脸 阅读(394) 评论(0) 推荐(0)
摘要:1. C#中的委托是什么?事件是不是一种委托? 委托可以把一个方法作为参数代入另一个方法,委托可以理解为指向一个函数的引用。 是,是一种特殊的委托 2. override与重载的区别 重载是方法的名称相同。参数或参数类型不同,进行多次重载以适应不同的需要 override 是进行基类中函数的重写。为了适应需要。 3. 实现冒泡算法 ... 阅读全文
posted @ 2015-07-24 17:56 盘子脸 阅读(292) 评论(0) 推荐(0)