c#
文章平均质量分 85
leo_wc
多读书,读看报,少吃零食多睡觉
展开
-
C# 中的委托和事件
转载自:http://www.tracefact.net/CSharp-Programming/Delegates-and-Events-in-CSharp.aspx推荐:http://www.tracefact.net/ 这哥们写的很棒C# 中的委托和事件引言委托 和 事件在 .Net Framework中的应用非常广泛,然而,较好地理解委托和事转载 2015-08-20 17:52:12 · 438 阅读 · 1 评论 -
C#匿名方法之循环注册问题
C#匿名方法之循环注册问题Demo:void Demo() { List list = new List(); for (int i = 0; i < 5; i++) { list.Add(delegate { LogManager.Log(i +原创 2017-05-15 12:50:16 · 480 阅读 · 0 评论 -
游戏寻路之A*寻路
A*算法A*算法,A*(A-Star)算法是一种静态路网中求解最短路径最有效的直接搜索方法,也是解决许多搜索问题的有效算法。算法中的距离估算值与实际值越接近,最终搜索速度越快基础知识直接略过重温了下服务器的寻路算法,现存代码一共两种,一种是A*方格网格寻路(弃用,原因有遗留bug),另一种是三角形网格寻路(现用,听师傅这个效率较高,待会研究)。此文主要是A*寻路的实现。由于客户端有比较形象的表现方式原创 2017-05-25 19:01:59 · 892 阅读 · 0 评论 -
简单二叉树实现
二叉树是最简单的树结构,树结构为层次结构,与之对应的是线性结构,例如数组,链表等。经历过的游戏项目中线性表用得比较多,相比之下,树结构用的就比较少了,也许是笔者孤陋寡闻,单方面认为树适用于大数据量的存储,排序等操作,游戏服务器可承载数据量也挺大,但是处理能力和一些硬性要求(内存,硬盘)也有限,再锋利的刀刃用的时间长了也会钝,服务器卡顿会带来客户端非常操蛋的游戏体验,所以为了长久之计,不建议在游戏服上原创 2017-05-26 18:51:49 · 4080 阅读 · 0 评论 -
数组排序方法的性能比较(上):注意事项及试验
昨天有朋友写了一篇文章,其中比较了List的Sort方法与LINQ中排序方法的性能,而最终得到的结果是“LINQ排序方法性能高于List.Sort方法”。这个结果不禁让我很疑惑。因为List.Sort方法是改变容器内部元素的顺序,而LINQ排序后得到的是一个新的序列。假如两个排序方法的算法完全一致,LINQ排序也比对方多出元素复制的开销,为什么性能反而会高?如果LINQ排序的算法/实现更为优秀,那转载 2017-05-17 15:01:35 · 673 阅读 · 0 评论 -
数组排序方法的性能比较(中):Array.Sort 实现分析
昨天我们比较了Array.Sort方法与LINQ排序的性能,知道了LINQ排序的性能以较大幅度落后于Array.Sort方法。而对于Array.Sort来说,性能最高的是其中使用Comparer.Default作为比较器的重载方法。在前文的末尾我们做出了推测:由于排序算法已经近乎一个标准了(快速排序),因此从算法角度来说,Array.Sort方法和LINQ排序上不应该有那么大的差距,因此造成两者性转载 2017-05-17 15:02:46 · 642 阅读 · 0 评论 -
数组排序方法的性能比较(3):LINQ排序实现分析
上次我们分析了Array.Sort方法的实现方式,并了解到类库会为一些特例而使用高性能的排序方式——int数组便是这样一例,因此从测试结果上来看其性能特别高。不过从数据上看,即便是在普通的情况下,Array.Sort的性能也比LINQ排序要高。不过也有朋友从测试中得出的结论正好相反,这又是为什么呢?那么现在,我们再来分析一下LINQ排序的实现方式吧,希望这样可以了解到两者性能差别的秘密。只转载 2017-05-17 15:03:38 · 396 阅读 · 0 评论 -
数据结构之“堆”及推排序
概述堆是一种完全二叉树,高度为(高度为O(lgN))这种树结构的效率很高,多用于我们常说的堆排序以及优先队列,例如先入先出队列(FIFO)。堆排序的时间复杂度为O(NlgN)。ps: 完全二叉树的定义,若设二叉树的深度为h,除第 h 层外,其它各层 (1~h-1) 的结点数都达到最大个数,第 h 层所有的结点都连续集中在最左边,说白了,完全二叉树就是一棵数层数为h,则它的第1至h-1层没有空节点原创 2017-06-01 15:46:25 · 508 阅读 · 0 评论