摘要: 本文将介绍以下内容:按值传递与按引用传递深论ref和out比较参数应用浅析1.引言接上回《第九回:品味类型---值类型与引用类型(中)-规则无边》中,对值类型和引用类型的讨论,其中关于string类型的参数传递示例和解释,引起园友的关注和讨论,可谓一石激起千层浪。受教于装配脑袋的深切指正,对这一概念有了相当进一步的了解,事实证明是我错了,在此向朋友们致歉,同时非常感谢大家的参与,尤其是装配脑袋的不倦相告。因此,本文就以更为清晰的角度,把我理解有误的雷区作做以深入的讨论与分析,希望通过我的一点点努力和探讨至少对如下几个问题能有清晰的概念:什么是按值传递?什么是按引用传递?按引用传递和按引用类型参 阅读全文
posted @ 2012-09-28 16:42 沙耶 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 本文将介绍以下内容:类型的基本概念值类型深入引用类型深入值类型与引用类型的比较及应用[下载]:[类型示例代码]1.引言值类型与引用类型的话题经过了两个回合([第八回:品味类型---值类型与引用类型(上)-内存有理]和[第九回:品味类型---值类型与引用类型(中)-规则无边])的讨论和切磋,我们就基本的理解层面来说已经差不多了,但是对这一部分的进一步把握和更深刻的理解还要继续和深化,因为我自己就在两篇发布之际,我就得到装配脑袋兄的不倦指导,之后又查阅了很多的资料发现类型在.NET或者说语言基础中何其重要的内涵和深度,因此关于这个话题的讨论还没有停止,以后我将继续分享自己的所得与所感。不过作为一个 阅读全文
posted @ 2012-09-28 15:51 沙耶 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 接上回[第八回:品味类型---值类型与引用类型(上)-内存有理]的探讨,继续我们关注值类型和引用类型的话题。本文将介绍以下内容:类型的基本概念值类型深入引用类型深入值类型与引用类型的比较及应用1.引言上回[第八回:品味类型---值类型与引用类型(上)-内存有理]的发布,受到大家的不少关注,我们从内存的角度了解了值类型和引用类型的所以然,留下的任务当然是如何应用类型的不同特点在系统设计、性能优化等方面发挥其作用。因此,本回是对上回有力的补充,同时应朋友的希望,我们尽力从内存调试的角度来着眼一些设计的分析,这样就有助于对这一主题进行透彻和全面的理解,当然这也是下一回的重点。从内存角度来讨论值类型和 阅读全文
posted @ 2012-09-28 11:22 沙耶 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 本文将介绍以下内容:类型的基本概念值类型深入引用类型深入值类型与引用类型的比较及应用1.引言买了新本本,忙了好几天系统,终于开始了对值类型和引用类型做个全面的讲述了,本系列开篇之时就是因为想写这个主题,才有了写个系列的想法。所以对值类型和引用类型的分析,是我最想成文的一篇,其原因是过去的学习过程中我就是从这个主题开始,喜欢以IL语言来分析执行,也喜好从底层的过程来深入了解。这对我来说,似乎是一件找到了有效提高的方法,所以想写的冲动就没有停过,旨在以有效的方式来分享所得。同时,我也认为,对值类型和引用类型的把握,是理解语言基础环节的关键主题,有必要花力气来了解和深入。2. 一切从内存开始2.1 阅读全文
posted @ 2012-09-28 10:11 沙耶 阅读(267) 评论(0) 推荐(0) 编辑
摘要: 本文将介绍以下内容:.NET基础架构概念类型基础通用类型系统CLI、CTS、CLS的关系简述1.引言本文不是连环画,之所以在开篇以图形的形式来展示本文主题,其实就是想更加特别的强调这几个概念的重要性和关注度,同时希望从剖析其关系和联系的角度来讲述.NET Framework背后的故事。因为,在作者看来想要深入的了解.NET,必须首先从了解类型开始,因为CLR技术就是基于类型而展开的。而了解类型则有必要把焦点放在.NET类型体系的公共基础架构上,这就是:通用类型系统(Common Type System, CTS)。我之所以将最基本的内容以独立的章节来大加笔墨,除了为后面几篇关于对类型这一话题深 阅读全文
posted @ 2012-09-28 09:51 沙耶 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 本文将介绍以下内容:面向对象基本概念base关键字深入浅出this关键字深入浅出1.引言new关键字引起了大家的不少关注,尤其感谢Anders Liu的补充,让我感觉博客园赋予的交流平台真的无所不在。所以,我们就有必要继续这个话题,把我认为最值得关注的关键字开展下去,本文的重点是访问关键字(Access Keywords):base和this。虽然访问关键字不是很难理解的话题,我们还是有可以深入讨论的地方来理清思路。还是老办法,我的问题先列出来,您是否做好了准备。是否可以在静态方法中使用base和this,为什么?base常用于哪些方面?this常用于哪些方面?可以base访问基类的一切成员吗 阅读全文
posted @ 2012-09-28 09:39 沙耶 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 本文将介绍以下内容:面向对象基本概念new关键字深入浅出对象创建的内存管理1.引言园子里好像没有或者很少把new关键字拿出来说的,那我就占个先机吧,呵呵。那么,我们到底有必要将一个关键字拿出来长篇大论吗?看来是个问题。回答的关键是:你真的理解了new吗?如果是,那请不要浪费时间,如果不是,那请继续本文的循序之旅。下面几个 问题可以大概的考察你对new的掌握,开篇之前,希望大家做个检验,如果通过了,直接关掉本页即可。如果没有通过,希望本文的阐述能帮你找出答案。new一个class对象和new一个struct或者enum有什么不同?new在.NET中有几个用途,除了创建对象实例,还能做什么?new 阅读全文
posted @ 2012-09-28 09:20 沙耶 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 本文将介绍以下内容:• 面向对象基本概念• 类和结构体简介•引用类型和值类型区别1.引言提起class和struct,我们首先的感觉是语法几乎相同,待遇却翻天复地。历史将接力棒由面向过程编程传到面向对象编程,class和struct也背负着各自的命运前行。在我认为,struct英雄迟暮,class天下独行,最本质的区别是class是引用类型,而struct是值类型,它们在内存中的分配情况有所区别。由此产生的一系列差异性,本文将做以全面讨论。2. 基本概念2.1. 什么是class?class(类)是面向对象编程的基本概念,是一种自定义数据结构类型,通常包含字段、属性、方法、属性、构造函数、索引 阅读全文
posted @ 2012-09-28 09:00 沙耶 阅读(261) 评论(0) 推荐(0) 编辑