06 2011 档案

摘要:一、在.NET中string是一种特殊的引用类型,它一旦被赋值在堆上的地址即不可改变,之后对其进行的字符串相加等操作之后的结果都指向另外一个堆地址,而非原来的字符串地址。现在我们看以下一段C#代码以观察string在实际编码过程中的使用。二、上面的C#生成的CIL代码如下,三、首先我们看两种字符串的构造方式的不同而引起的效能变化。结论:通过上面两种方式构造方式的CIL我们可以很清晰的看出第二种方式的效率要高于第一种的字符串构造方式。所以我们在实际的编码过程中可以考虑尽量使用第二种编码方式。四、大家都知道装箱操作会在堆上寻找一个控件来存储值类型的值。会耗费大量的时间。所以下面我们来看两个实例代码 阅读全文
posted @ 2011-06-30 11:25 .NET架构 阅读(2555) 评论(25) 推荐(5) 编辑
摘要: 一、在.NET中,内存分配是非常重要的一大块,为了更深入的了解其分配情况,本节中我们将利用一个实例来查看其CIL语言分析内存的分配情况。下面我们首先来看实例C#源码如,二、接下来我们看这段程序的CIL代码,通过这段代码我们大概能够猜出分别代表了什么意思。 首先我们看第一段CIL代码所示,声明了程序的进入点,以及定义了5个局部的变量其索引值分别为0,1,2,3,4,变量名为a,b,c,d,e。其次我们来看第二段CIL代码,这是值类型的直接存储在栈中的数据,直接取出相加即可。 阅读全文
posted @ 2011-06-29 11:28 .NET架构 阅读(2630) 评论(12) 推荐(9) 编辑
摘要: 一、CIL的基本构成 CIL由CIL指令(directive)、CIL特性(attribute)、CIL操作码(opcode)组成。CIL指令是用于描述.NET程序集总体结构的标记,并且通知CIL编译器如何定义在程序集中用到的命名空间、类、成员的。它以(.)一个点号开头,例如:.namespace、.class、.property、.method等构成。CIL特性是由于CIL指令并不能完全说明.NET成员和类的情况下,针对CIL指令进行补充说明成员或者类的特性的。比如一个类可能是公共的,集成的。它就需要用public特性、extends特性或者implements特性对类的.class指令进行修饰的补充说明。 阅读全文
posted @ 2011-06-28 10:48 .NET架构 阅读(4947) 评论(8) 推荐(9) 编辑
摘要: CIL简介:CIL(Common Intermediate Language)中文名为通用中间语言,注意它曾经被称为微软中间语言或MSIL,它是一种类似于JAVA字节码的语言。在微软语言平台中,不管程序员使用C#、VB.NET或者J#等语言编写的程序进行编译的时候,编译器将这几种语言编写的源代码编译为CIL(微软中间语言)语言,此时再通过JIL(Just In Time实时编译器)编译为针对各种不同CPU的指令(注意因为是实时的编译器,所以它运行的时候是只运行需要编译的CIL语言段,而不是全部一下编译完,这是为了提高效率。) 阅读全文
posted @ 2011-06-27 10:16 .NET架构 阅读(5196) 评论(13) 推荐(10) 编辑
摘要: 在本节中我们将讲述如何通过WinDbg工具对Silverlight应用程序进行调试,我们可以判断其无效过期的引用或者事件,将其释放掉,以达到及时释放内存的作用。首先我们需要下载WinDbg工具,在http://msdl.microsoft.com/download/symbols/debuggers/dbg_x86_6.11.1.402.msi即可下载32位的WinDbg工具。并且安装好这个工具。然后我们准备一个最简单的Silverlight应用程序,其Xaml代码如下: 阅读全文
posted @ 2011-06-13 11:03 .NET架构 阅读(2383) 评论(6) 推荐(6) 编辑
摘要: 在Silvelight 4.0的项目中我们也需要制作单元测试以保证项目的质量,本节将讲诉如何创建一个项目进行单元测试。 一、创建一个名为SL4UnitAPP的Silverlight 应用程序,不需要Web承载网站。 二、然后鼠标右键点击SL4UnitAPP解决方案,添加一个名为SL4UnitTest的Silverlight Unit Test Application。 三、在平时VS2010 创建项目时无法添加一个Silverlight Unit Test Application,所以我们需要将C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\下的ItemTemplates文件夹和ProjectTemplates文件夹都拷贝到D:\My Documents\ 阅读全文
posted @ 2011-06-07 10:42 .NET架构 阅读(1993) 评论(4) 推荐(4) 编辑

点击右上角即可分享
微信分享提示