C#语言知识点整理–结构.docVIP

  1. 1、本文档共3页,可阅读全部内容。
  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文档。上传文档
查看更多
结构与类的区别: 结构与类共享大多数相同的语法,但结构比类受到的限制更多: 结构是值类型,而类是引用类型。 在结构声明中,除非字段被声明为 const 或 static,否则无法初始化。 结构不能声明默认构造函数(没有参数的构造函数)或析构函数。结构可以声明带参数的构造函数。一个结构不能从另一个结构或类继承,而且不能作为一个类的基类。 所有结构都直接继承自 System.ValueType,后者继承自 System.Object。 结构可以实现接口。 与类不同,结构的实例化可以不使用 new 运算符。 结构在赋值时进行复制。 将结构赋值给新变量时,将复制所有数据,并且对新副本所做的任何修改不会更改原始副本的数据。 在使用值类型的集合(如 Dictionarystring, myStruct)时,请务必记住这一点。 结构可以为 null 的类型,因而可向其赋 null 值。 using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace CSharp.Struct { public struct CoOrds //不能从另一个结构或类继承,但可实现接口 { public int x, y; //结构中不能有实例字段初始值,除非被声明为 const 或 static //public int x = 0; //public int y = 0; //结构不能声明默认构造函数(没有参数的构造函数)或析构函数 //public CoOrds() //{ //} //结构可以声明带参数的构造函数。 public CoOrds(int p1, int p2) { x = p1; y = p2; } } class Program { static void Main(string[] args) { // //与类不同,结构的实例化可以不使用 new 运算符。 // // Declare an object: CoOrds coords1; // Initialize: coords1.x = 10; coords1.y = 20; // Display results: Console.Write(CoOrds 1: ); Console.WriteLine(x = {0}, y = {1}, coords1.x, coords1.y); // Initialize: CoOrds coords2 = new CoOrds(); CoOrds coords3 = new CoOrds(10, 10); // Display results: Console.Write(CoOrds 2: ); Console.WriteLine(x = {0}, y = {1}, coords2.x, coords2.y); Console.Write(CoOrds 3: ); Console.WriteLine(x = {0}, y = {1}, coords3.x, coords3.y); // //将结构赋值给新变量时,将复制所有数据,并且对新副本所做的任何修改不会更改原始副本的数据。 // //Copy Console.Write(After Copy:\n); coords2 = coords3; coords2.x = 20; // Display results: Console.Write(CoOrds

文档评论(0)

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

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

1亿VIP精品文档

相关文档