C#语言知识点整理 - 结构

C#语言知识点整理 - 结构

ID:37920528

大小:44.00 KB

页数:3页

时间:2019-06-02

C#语言知识点整理 - 结构_第1页
C#语言知识点整理 - 结构_第2页
C#语言知识点整理 - 结构_第3页
资源描述:

《C#语言知识点整理 - 结构》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、一、结构与类的区别:结构与类共享大多数相同的语法,但结构比类受到的限制更多:1.结构是值类型,而类是引用类型。2.在结构声明中,除非字段被声明为const或static,否则无法初始化。3.结构不能声明默认构造函数(没有参数的构造函数)或析构函数。结构可以声明带参数的构造函数。4.一个结构不能从另一个结构或类继承,而且不能作为一个类的基类。所有结构都直接继承自System.ValueType,后者继承自System.Object。5.结构可以实现接口。6.与类不同,结构的实例化可以不使用new运算符。7.结构在赋值时进行复制。将结构赋值给新变量时,将复制所有数据,并且对新副本所做的任何修

2、改不会更改原始副本的数据。在使用值类型的集合(如Dictionary)时,请务必记住这一点。8.结构可以为null的类型,因而可向其赋null值。二、结构体示例:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;namespaceCSharp.Struct{publicstructCoOrds//不能从另一个结构或类继承,但可实现接口{publicintx,y;//结构中不能有实例字段初始值,除非被声明为const或static//publicint

3、x=0;//publicinty=0;//结构不能声明默认构造函数(没有参数的构造函数)或析构函数//publicCoOrds()//{//}//结构可以声明带参数的构造函数。publicCoOrds(intp1,intp2){x=p1;y=p2;}}classProgram{staticvoidMain(string[]args){////与类不同,结构的实例化可以不使用new运算符。////Declareanobject:CoOrdscoords1;//Initialize:coords1.x=10;coords1.y=20;//Displayresults:Console.Writ

4、e("CoOrds1:");Console.WriteLine("x={0},y={1}",coords1.x,coords1.y);//Initialize:CoOrdscoords2=newCoOrds();CoOrdscoords3=newCoOrds(10,10);//Displayresults:Console.Write("CoOrds2:");Console.WriteLine("x={0},y={1}",coords2.x,coords2.y);Console.Write("CoOrds3:");Console.WriteLine("x={0},y={1}",coords

5、3.x,coords3.y);////将结构赋值给新变量时,将复制所有数据,并且对新副本所做的任何修改不会更改原始副本的数据。////CopyConsole.Write("AfterCopy:");coords2=coords3;coords2.x=20;//Displayresults:Console.Write("CoOrds2:");Console.WriteLine("x={0},y={1}",coords2.x,coords2.y);Console.Write("CoOrds3:");Console.WriteLine("x={0},y={1}",coords3.x,coo

6、rds3.y);//Keeptheconsolewindowopenindebugmode.Console.WriteLine("Pressanykeytoexit.");Console.ReadKey();}}}一、参考链接:C#封装c++结构体与互调用:http://developer.51cto.com/art/200908/143782.htm解决C#结构体数组间的转化http://developer.51cto.com/art/200908/143779.htmC#结构体的序列化与反序列化http://developer.51cto.com/art/200908/144015.

7、htmStructLayoutAttributeClasshttp://msdn.microsoft.com/en-us/library/system.runtime.interopservices.structlayoutattribute.aspxHowto:CreateaC/C++UnionUsingAttributes(C#ProgrammingGuide)http://msdn.microsoft.com/en-us/li

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。