C#初学者入门讲座_20031106.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C#入门讲座记录 主讲:FreeJet 这次讲座目的主要是针对C#初学者。其重点解决入门时的一些理解上的困难,以帮助初学者能更好的入门,加快时间,减少些许痛苦。我将重点就语言的一些基本概念来给大家做些讲解,有不足之处请大家帮助指正。 .NET是MS新一代分布式计算平台,包含五大主题: 一、最底层是CLR,(最接近OS的部分)。有人会说CLR不就是JAVA的虚拟机么?你可以这么理解,但CLR和JVM是不同的。最大的不同在于,JVM是个解释器,也就是说他负责运行JAVA程序,而CLR是一个执行环境,但他并不具体执行。NET程序。CLR负责几个主要事务,1 编译已经翻译成MSIL的。NET程序。MSIL是中间语言,CLR将MSIL编译成本地代码,理论上由OS或计算机执行,从这点来看CLR和JVM是不同的。CLR的第二个任务是作为一个执行环境,来完成控制,比如垃圾回收,等等。 二、在。NET的第二层,就是框架和系统服务,这就给。NET程序良好的编成环境,比如,大家看到的丰富的类库等等。 三、第三层是应用服务框架,比如,IIS,SQLSERVER等等。 四、第四层是支持我们程序的具体的宿主,比如IIS中的WEB服务支持等等。 五、第五层是我们自己的程序代码,这是立足于我们自己的代码来看的层次。 有关CLR和MSIL的问答 问:CLR 将程序在本地编译,如果是其它操作系统呢? 答:CLR必须驻留在运行。NET程序的目标计算机上。我们在VS。NET里编译好的代码的形式是MSIL,MSIL 是中间语言不是机器语言,所以必须再次编译,才能运行。 问:CLR能否驻留在其它操作系统上? 答:CLR就是dotnet。你安装。NET的时候就已经安装运行环境了, CLR = Common Language Runtime。理论上,我们只需要CLR就能开发.NET程序。 问:CLR就是个运行环境可以这么说吗? 答:这样说不是很全面,不过也可以。 问:就向以前的vb运行库一样是吗? 答:不一样。VB6 or lower 的运行环境是解释环境,大家如果记得的话,应该知道,VB代码在5.0以前都是解释的。而不是编译,所以他比C++慢N倍,其次他不具备CLR的基本功能,比如垃圾回收,等等。 以上就.NET简单介绍一下。 关于CLR,MSIL如果有兴趣我们可以另外单独讲解。 那么,回到我们的主题上来:C#语言。 就我看来C#语言中最根本的部分是关于类和对象。其余的大家都应该没有困难。 C#中主要的部分是类,和对象,其他都不是很难。大家知道,在程序中,有几个地方可以存放数据的:寄存器 --》 高速cache --- 内存器---》 硬盘。当程序运行的时候,可以存放程序的数据的有几个地方:寄存器 --》 内存器(stack, heap, ...) ---》 硬盘(stack: 栈 ,heap :堆)。关于寄存器,你是无法控制的,所以没必要提。硬盘是存放没有读入的或根据某些调价交换出去的内容的,也没有必要提。我们就来看看内存中的情况。 假设我有一个程序: public class test { int afx = 0; const int abc = 0; public static void dtd(){} public void FTF() {} } 然后有对这个类的实例化 test tt = new test(); 那么这个tt实际上就存放在堆内存中。堆是这样一个东西:他的大小是整个可用的区域,(除栈和其他外),这个分配就自动在堆内产生一个地址,来容纳这个对象。 |------------- | | -------------| | -------------| | -------------| …… 我们现在讲栈,栈在数据结构中就有这个内容,是一种先近后出的结构,大家应该都知道,就不多说了。好了,我们的准备知识都有了,现在就来讲C#中这个类和对象。 首先,类 --- 是一个概念 对象 --- 是一个实际存在的东西。所谓概念,他是看不见,摸不着的东西。而对象是实际存在的东西,所以,类就好比一个模板,而只有按照这个模版实际生成一个实际的例子的时候,对象才能存在。这就是类和对象的关系。 现在就讲第一个要点。 test tt = new text(); 在这里,tt 是什么呢?这是一个十分关键的问题。test tt 这一步申明一个test类型的引用,就是告诉CLR,请给我一块空间。new test();实际在堆内存中开辟一块区域存放新的test对象,并把地址放到tt里。test tt 这一步申明一个test类型的引用就是告诉CLR,请给我一块空间 new test(); 实际在堆内存中开辟一块区域存放新的tes

文档评论(0)

16588ww + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档