C#
文章平均质量分 54
xlegendx
传播全人类的知识和智慧
展开
-
ReSharper 配置及用法
1:安装后,Resharper会用他自己的英文智能提示,替换掉 vs2010的智能提示,所以我们要换回到vs2010的智能提示2:快捷键。是使用vs2010的快捷键还是使用 Resharper的快捷键呢?我是使用re的快捷键3:esharper安装后,会做几件事情,这几件事情对于除此使用者,比较麻烦,因此归纳总结一下,以资参考。(1)、会将选项——文翻译 2017-01-09 17:02:37 · 1994 阅读 · 0 评论 -
Unity 编辑器开发 知识点 持续更新
1 Unity中的Inspector都是Editor类的子类别,所以你应该从这里开始。但是,我对编辑器类处理样式的方法不是很喜欢。里面有个“Target”用来提及检查器正在编辑的物体,但是只是基本的“Object”样式,所以你要不断将其转变成更有用的样式。为避开这个问题,我使用了一个非常简单的类别,具体如下:public class InspectorBase : Editor wher原创 2017-01-09 17:13:09 · 471 阅读 · 0 评论 -
Unity 获取游戏对象
我觉得Unity里面的Transform 和 GameObject就像两个双胞胎兄弟一样,这俩哥们很要好,我能直接找到你,你也能直接找到我。我看很多人喜欢在类里面去保存GameObject对象。解决GameObject.Find()无法获取天生activie = false的问题。private GameObject root;我觉得你最好不要保存GameObject ,而是去保存Tran翻译 2017-01-11 10:31:04 · 511 阅读 · 0 评论 -
Unity NGUI 高效的战斗飘字
这周有网友提到用NGUI做战斗冒血,冒伤害等文字性能太差。确实如此,我之前(NGUI 3.8.2,1000块的Android机器上)在Profile中也发现UIPanel占用CPU奇高。因此最终自己在战斗飘文字这一块没有使用NGUI,而是自己创建Mesh来处理。优化前后在手机上每秒大概增加了10帧。可以看到DrawCall和NGUI一样都为1,这个 MeshText 就是我原创 2017-01-12 14:27:20 · 1552 阅读 · 0 评论 -
单元测试 Visual Studio 2013
1.打开VS2013 --> 新建一个项目。这里我们默认创建一个控制台项目。取名为UnitTestDemo2.在解决方案里面新增一个单元测试项目。取名为UnitTestDemoTest创建完毕后项目结构大概如下: 3.进入控制台项目UnitTestDemo的Program类,创建一个Add方法。namespace UnitTestDemo{翻译 2017-02-10 10:20:11 · 567 阅读 · 0 评论 -
单元测试 Unit Test Generator
一般vs2010后的都已经集成了对应的单元测试工具Unit Test Generator,如果没有就可以去“扩展和更新”上下载1 打开 工具--自定义2 选择 上下文菜单--编辑器上下文菜单|代码窗口3 在这里我们可以看到“创建单元测试”这个菜单了,将它移到运行测试菜单下面4 关闭VS并重启 重启后再对着类名,翻译 2017-02-10 10:22:40 · 2438 阅读 · 0 评论 -
C# 操作符??和?:
先看如下代码:string strParam = Request.Params["param"];if ( strParam== null ){ strParam= "";} string strParam=Request.Params["param"] == null ? "": Request.Params["param"];你发现,尽管实现的同一个功能,但第二段代码要比第原创 2017-01-25 14:59:55 · 363 阅读 · 0 评论 -
UGUI ScrollRect 高效复用
最近忙于性能优化,深切体会到二八法则真是指导高(tou)效(lan)工作的有力武器。这个礼拜花了几天解决了一个实际问题:UGUI的ScrollRect加载太多物体的时候,第一次弹出界面会非常卡顿,而且不在界面里的内容依然会参与绘制(毫无意义的浪费…)。ChangeLog: v1.01 重构了好几遍,基本算重写了份…优化了拖动手感和回收部分的计算,增加了反方向滑转载 2017-03-13 15:32:33 · 2157 阅读 · 0 评论 -
C# 之 类复制 MemberwiseClone与Clone(深 浅 Clone)
MemberwiseClone方法创建一个浅表副本,具体来说就是创建一个新对象,然后将当前对象的非静态字段复制到该新对象。如果字段是值类型的,则对该字段执行逐位复制。如果字段是引用类型,则复制引用但不复制引用的对象。因此,原始对象及其复本引用的是同一对象。 为了实现深度复制,我们就必须遍历有相互引用的对象构成的图,并需要处理其中的循环引用结构。这无疑是十分复杂的。幸好借助.Net的序列化和反序...原创 2018-07-21 16:02:55 · 1724 阅读 · 0 评论