04 2013 档案
摘要:简单类型排序编程时遇到排序在平常不过,使用.Net最常见的就是对泛型List<T>进行排序,如果T是简单数据类型排序那么很简单,直接调用List的Sort()方法就可以了,但是如果我们要排的对象复杂了怎么办,我们知道List<T> sort()最后是用快速排序实现,快速排序也好,什么排序都需要知道list中item之间的比较结果,如果是简单的int类型,直接判断即可,对实现了IComparable接口的对象,可以调用其CompareTo()实现item比较大小,下面是一个快速排序的写法void Sort<T>(T[] array, int left, int
阅读全文
摘要:最近在学设计模式,其实不是第一次学了,才工作的时候就看过,不过那时候看设计模式就是天方夜谭,不明白为什么要用这些模式,觉得反而更麻烦了,工作两年后再看有些感觉了,但是陷入无穷无尽的场景假想中,设想自己处于一种场景,然后有各种需求,然后要用哪个模式就可以实现,三分之二的时间在围绕这这些假想转悠。偶然在MSDN上看到篇文章 Discover the Design Patterns You're Already Using in the .NET Framework, 如梦初醒,其实我们使用的 .NET里面就有设计模式,有的甚至我们已经在熟悉不过,只是我们是客户,不用了解它的实现,忽然想到这
阅读全文
摘要:定义setTimeout()和setInterval()经常被用来处理延时和定时任务。setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式,而setInterval()则可以在每隔指定的毫秒数循环调用函数或表达式,直到clearInterval把它清除。从定义上我们可以看到两个函数十分类似,只不过前者执行一次,而后者可以执行多次,两个函数的参数也相同,第一个参数是要执行的code或句柄,第二个是延迟的毫秒数。很简单的定义,使用起来也很简单,但有时候我们的代码并不是按照我们的想象精确时间被调用的,很让人困惑简单示例看个简单的例子,简单页面在加载完两秒后,写下Delayed al
阅读全文