C#中new关键字的理解.docxVIP

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C#中new关键字的理解C#程序中,我们经常见到如:Bitmap picture=new bitmap(curentfilepath);【Bitmap是一个类,用作图像处理】Int[ ] arr=new int[10];【C#中声明一个数组,并且初始化,数组大小是10,每个初始默认值是0】这样的语句,这和C和C++中的写法不一样,在C或者C++中我们声明一个数组是: int arr[10];这样去声明的。为什么会这样了,C# 中定义有些变量如:int width=10;可以直接赋值,而有些如:Int [ ] arr=new int[10];OpenFileDialog opnDlg = new OpenFileDialog();这样去赋值了。我先说一下C,C++和C#的简单的区别(个人理解,不好勿喷),C: C是一组数据类型和函数;C++: 是类和一组函数;C#:一组类型的声明;写C# 程序的而过程感觉就是一个不断声明类型的过程,C#中预定义的类型有16中,其中13中是简单的类型,如我们常见的int ,short,double,float等,还有三种是稍微复杂的类型,如object, string。其中object是其他类型的基础,包括简单类。此外还有6中自定义的类型:类类型(class)结构类型(struct)枚举类型(enum)数组类型(array)托管类型(delegate)接口类型(interface)写一个C#程序就是这22种类型不断声明变量的过程。声明的类型。必须就对声明类型的变量分配内存,即实例化对象。为变量分配内存的时候分为两种类型:一种是值类型,一种是引用类型,数据在内存中一般存在栈和堆中。值类型的数据只需要一段简单的类存,将其中数据存放在其中,比如我们声明时候的简单类型:如 int a;存储时就是一个值类型,在内存中只需要分配一段单独的内存,此时变量a并没有赋值,内存中给一个默认值为0;如果在定义:a=10;那就将10这个值存储进去。其存储的位置可以位于栈中,也可以位于堆中。引用类型,(个人理解和C和C++中的指针相似),对声明的引用类型分配内存的时候要分配两段类存,第一段用来存储实际为引用赋值后的数据,位置必须在堆中。第二段用来存储一个引用,即第一段存放数据的位置,位置可以在堆中,也可以在栈中。(如果用C中指针理解,就是分配第一段位置存放的是数据,第二段位置放的是数据的地址,如int *P=10;第一段内存中放的是10 这个值,第二段内存中放的是存储10 这个值得内存的地址)可以用下面图来表示引用这个过程:懂了上面的这些,那就很容易理解为啥在C#中对声明变量的赋值有些是如:int a=10;有些是 int [ ] arr=new int[10];这样形式了,前面那张赋值在内存中存储时值类型的,所以在内存中只需开辟一块地方便可以了。在C#中,数组,类,结构等复杂的声明类型实例化时在内存中都是按照引用类型存储的。所以如:Bitmap image= new Bitamp();上面语句其实是两句:Bitmap image;Image =new Bitmap();Bitmap是一个类类型,故其实例化过程中分配内存是按照引用类型分配的,所以,new Bitmap()分配的是存储数据的内存,Bitmap image 分配的是存储数据引用的内存;Bitmap image= new Bitamp();一整句的意思,在我大概看了就是:分配了存储引用类型的地址,然后为数据分配内存,在将分配数据内存的地址赋给引用类型的变量

文档评论(0)

185****7617 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档