摘要:
在我公开测试结果之后,有朋友也进行了其他测试。在测试中我使用的是int数组,经过分析之后我们了解到Array.Sort对于int数组有特殊的优化。于是,某些朋友使用了一些引用类型的数组进行排序,得到Array.Sort方法的性能落后于LINQ排序——虽然由于测试方式的问题,这个结果和结论都不太妥当。不过在讨论的过程中,我们都意识到了一个问题:在其他条件不变的情况下,引用类型的字段越多,Array.Sort方法所需时间就越久。这次我们就来讨论一下这个问题。 阅读全文
推荐排行榜
人肉反编译使用yield关键字的方法
2010-01-26 00:06 by Jeffrey Zhao, 12157 阅读, 收藏,
摘要:
我认为这是一个真命题:“没有用.NET Reflector反编译并阅读过代码的程序员不是专业的.NET程序员”。.NET Reflector强大的地方就在于可以把IL代码反编译成可读性颇高的高级语言代码,并且能够支持相当多的“模式”,根据这些模式它可以在一定程度上把某些语法糖给还原,甚至可以支持简单的Lambda表达式和LINQ。只可惜,.NET Reflector还是无法做到极致,某些情况下生成的代码还是无法还原到易于理解——yield关键字便是这样一个典型的情况。不过还行,对于不复杂的逻辑,我们可以通过人肉来“整理”个大概。 阅读全文
一次批量修改博客文章的经验(上):准备工作
2010-01-04 18:57 by Jeffrey Zhao, 6851 阅读, 收藏,
摘要:
这几天赋闲在家,除了看书和还债(如RSS订阅),终于把一直以来想做却拖着的事情完成了:批量去除博客文章段首的空格。这个过程并不难,只需要按部就班地去做就行了,一切资料都可以在互联网上搜索到。不过我还是打算记录一下,也是为了今后再做类似工作时有个参考,少走一些弯路。 阅读全文
在.NET平台上使用Scala语言(上):初尝
2009-12-18 12:47 by Jeffrey Zhao, 11496 阅读, 收藏,
摘要:
Scala是Java平台上的一门新兴起的语言,我也不止一次在博客上提到它。我非常希望它可以取代Java这种劣质语言,让Java平台的生产力上一个台阶。事实上,Scala从一开始——或者说“很早”就对生成.NET程序集提供了支持。只可惜,毕竟还是Java平台的东西,.NET方面的资源少之又少,不过我们还是可以进行一番尝试的。 阅读全文
浅谈代码着色(下):服务器端着色
2009-12-15 15:38 by Jeffrey Zhao, 7061 阅读, 收藏,
摘要:
上篇文章谈了客户端着色,而现在自然就来讨论服务器端着色了。先下个定义:我在这里谈的“服务器端着色”,是指直接从服务器端输出着色效果的做法(与“客户端着色时”输出纯代码文本相对)。至于这个着色效果是如何获得的,例如是由另一个用户直接提供的,还是用户提供纯代码文本,而用服务器端逻辑“着色”,在这里就统称为“服务器端”着色了。不过接下去的讨论,我们还是会作一些区分。 阅读全文