04 2015 档案
摘要:前言 本文中大部分示例代码来自于《CLR via C# Edition3》,并在此之上加以总结和简化,文中只是重点介绍几个比较有共性的问题,对一些细节不会做过深入的讲解。 前几天一直忙着翻译有关内存中堆和栈的问题博文《C#堆vs栈》,正是在写作本文的过程中对有些地方还是产生了很多的Why,所以就先翻
阅读全文
摘要:前言 本文来聊一聊我们经常会做的空值检查问题,从一个简单的空值检查Any Where,到设计模式的NullObjectPattern,再到C#6.0“可能”会提供的语法,让我们体验一次语言开发上的“持续改进”,Let’s go~ 什么是空引用异常 作为一个敲过代码的码农来说,似乎没有谁没有遇到过Nu
阅读全文
摘要:前言 在本系列的第一篇文章《C#堆栈对比(Part Three)》中,介绍了值类型和引用类型在Copy上的区别以及如何实现引用类型的克隆以及使用ICloneable接口等内容。 本文为文章的第四部分,主要讲解内存回收原理与注意事项,以及如何提高GC效率等问题。 注:限于本人英文理解能力,以及技术经验
阅读全文
摘要:前言 在本系列的第一篇文章《C#堆栈对比(Part Two)》中,介绍了值类型和引用类型在参数传递时的不同,本文将讨论如何应用ICloneable接口实现去修复引在堆上的用变量所带来的问题。 本文是系列文章的第三部分。 注:限于本人英文理解能力,以及技术经验,文中如有错误之处,还请各位不吝指出。 目
阅读全文
摘要:前言 在本系列的第一篇文章《C#堆栈对比(Part One)》中,介绍了堆栈的基本功能和值类型以及引用类型在程序运行时的表现,同时也包含了指针作用的讲解。 本文为文章的第二部分,主要讲解参数在堆栈的作用。 注:限于本人英文理解能力,以及技术经验,文中如有错误之处,还请各位不吝指出。 目录 C#堆栈对
阅读全文
摘要:前言 本文主要是讲解C#语言在内存中堆、栈的使用情况,使读者能更好的理解值类型、引用类型以及线程栈、托管堆。 首先感谢原文作者:Matthew Cochran 为我们带来了一篇非常好的文章,并配以大量图示,帮助我们更好的理解堆栈之间的调用,本文是在作者原文的基础上进行内容上的精简以及加入我个人在这方
阅读全文