文章分类 -  MicroSoft.NET框架程序设计读书笔记

摘要:/*假如实现一个功能,这个功能是在CMD里面打印item=1item=2item=3由一个函数执行private static void Print(int i){ Console.WriteLine(i);}你可以写 for(int i=1;i<4;i++){ Print(int i);}这样当然是可以的但是并不太符合C#的规范,因为C#是面向组件的编程就是说留一个接口给外界(可能是一个方法,调用者调用这个方法),调用者就不必写循环来调用了。如果调用者就用一个函数Counter(1,3 ,...)第三参数能传递一个方法就好了 连续在执行这个方法;但是传递的要么是值类型,要么是引用类型, 阅读全文
posted @ 2011-12-06 11:45 fox_ice 阅读(127) 评论(0) 推荐(0)
摘要:运行时的托管堆,栈,类型,对象的相互联系(一) 1. 基础知识: 当Windows 应用程序启动的时候,他会在线程栈里面分配1M的空间,所谓线程栈:windows 应用程序最小的执行单位就是线程,线程是在栈里面执行的;比如程序执行以下代码: Void M1() { String name=”joe”; M2(name); ……… Return ; } 线程栈 ……. String name... 阅读全文
posted @ 2011-11-30 16:25 fox_ice 阅读(135) 评论(0) 推荐(0)
摘要:把类编译成托管模块1.如何将编写好的类(源代码)编译成CLR可以执行的程序集呢,第一个步骤就是要把这些类编译成托管模块;① 在editplus中编写源代码; public class HiCSharp{ public static void Main() { System.Console.WriteLine("Hi C Sharp"); }}② 把这类编译成模块,可以用CSC.exe命令开关 CSC.exe在 %SystemRoot%\MicroSoft.net\FrameWork\v.x.x.x(版本号) 里面;一般安装vs的时候都会在环境变量里面去设置;所以在命令提示符 阅读全文
posted @ 2011-11-29 13:30 fox_ice 阅读(262) 评论(0) 推荐(0)
摘要:将托管模块编译成程序集CLR是不和托管模块一起工作的,他是和程序集一起工作的,程序集是一个抽象的概念,程序集是由一个或多个托管模块构成的,还包括一些资源文件 css js 图片等,如果一个程序集只包含一个托管模块而且没有什么资源文件程序集就是托管模块,当然我们可以将多个托管模块合并到一个程序集中,其实在我们编译C#源代码的时候程序集就自动产生了,他是由托管模块直接编译成程序集 就是 我们的 命令行开关 CSC Hello World .cs 。然后程序集就自动产生了 就是HelloWord.exe;托管代码(IL 和元数据) CSC.EXE ------》 VBC.EXEAL.EXE---.. 阅读全文
posted @ 2011-11-29 09:36 fox_ice 阅读(110) 评论(0) 推荐(0)
摘要:当我们准备好用.net做为开发工具时候我们要了解.net是如何工作的,1.CLR (Common Language Runtime)公共语言运行时:顾名思义,就是由多种语言使用的运行时。CLR 把编译好的托管代码作为执行对象对其进行执行。什么是托管代码呢?就是不是由本地计算机执行的代码,是由CLR 执行的代码,CLR 把他翻译成与本地CPU 相关的代码,也就是说托管代码 是与运行平台无关的中间代码。2.如何编写托管代码呢?托管代码就是称为中间语言的代码(IL),IL代码可以由多种语言编译器生成,可以用C# VB.NET F#等等 。对于编写好的源代码,我们可以用编译器对其编译,编译好的代码 就 阅读全文
posted @ 2011-11-28 15:15 fox_ice 阅读(128) 评论(0) 推荐(0)