代码改变世界

做个游戏:设计代码生成特定的调用堆栈

2009-12-04 00:30  Jeffrey Zhao  阅读(4889)  评论(21编辑  收藏

前篇文章里我谈了谈String.Concat与StringBuilder的实现,于是后来有个朋友回复到:“我发现StringBuilder里好像也用了String.Concat。在一次异常中,Exception的StackTrace显示是先发生了String.Concat异常,然后再StringBuilder.Append。”不过经过一些简单的分析,我们会发现StringBuilder.Append方法的各个重载都没有依赖(即调用)String.Concat方法,那么这样的调用堆栈又是如何形成的呢?

展开答案