C#高级编程:从零基础入门到高级语法全集教程

jecony0 jecony0 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

C#高级编程:从零基础入门到高级语法全集教程
 

一、对象和类型
类(class)是C#开发过程中最经常接触到的东西,类中可能包含有字段、常量、属性、方法、构造函数、索引器、事件、运算符、析构函数、内部类。以及我们可以使用多种关键字来辅助描述它达到我们希望它所拥有的功能。与类相似的还有结构(struct),在下面将会进行具体的描述。

 1、类和结构的区别:

  所有的类都是派生于一个名为Object的基类,就算是我们自己定义的类如果在定义时没有指定基类系统将隐式的将Object类作为它的基类。这对于结构来说是一样的,每个结构派生自ValueType类,而ValueType则又派生于Object类。
由此我们可以看出结构与类十分相似,但也有很明显的不同之处:
  1》首先,尽管在语法上可以将结构当做类来处理,但结构是值类型的也就是说结构所赋的值是真正的值而不是引用,结构的值放置在栈中而不是指向堆也不会再堆中占用内存,这使结构在性能上具有优势。而类所实例化的对象储存的是一个引用地址,当使用new语句时,系统将在托管堆空间中申请内存存放一个对象,并将这个对象的引用地址给类声明的变量。

  2》其次,结构不是为继承而被创建出来的,所以结构并不支持继承。但其实结构是派生于Object类的,所以结构也可以使用Object中的方法。

  3》还有,结构的初始化不同于类的初始化,例如:
Dimensions dimension;
dimension.Length=100;

 

 

...全文
评论
收藏 已收藏
分享
返回顶部
jecony0
下载资源悬赏专区 13,652 成员 12,568,421 内容