设为首页收藏本站

移动叔叔

搜索
查看: 1690|回复: 14
打印 上一主题 下一主题

[教程] C#之类和结构

[复制链接]
跳转到指定楼层
楼主
发表于 2016-6-14 16:23:32 来自手机版 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 花客 于 2016-6-14 17:47 编辑

类和结构都是创建对象的模板

每个对象都包含数据,并提供访问数据和处理数据的方法

类定义类的实例可以包含那些数据和功能

结构与类的区别在于内存的存储方式,访问方式,类是堆上的引用类型  结构是存储在栈上的值类型

结构不支持继承,较小的数据使用结构可提高性能。

结构:

struct name

{

public  string  id;

public void passtime()
{
implementation of behavior
}

}



类:

class name{

public string id;

public void passtime()
{
//implementation of behavior
}

}



都使用new创建实例



结构是值类型:值类型在堆栈上分配地址,所有的基类型都是结构类型,例如:int 对应System.int32 结构,通过使用结构可以创建更多的值类型
类是引用类型:引用类型在堆上分配地址
堆栈的执行效率要比堆的执行效率高,可是堆栈的资源有限,不适合处理大的逻辑复杂的对象。所以结构处理作为基类型对待的小对象,而类处理某个商业逻辑
因为结构是值类型所以结构之间的赋值可以创建新的结构,而类是引用类型,类之间的赋值只是复制引用



结构不能被继承 可是结构能够继承接口



结构:
没有默认的构造函数,但是可以添加构造函数
没有析构函数
没有 abstract 和 sealed(因为不能继承)
不能有protected 修饰符
可以不使用new 初始化
在结构中初始化实例字段是错误的
类:
有默认的构造函数
有析构函数
可以使用 abstract 和 sealed
有protected 修饰符
必须使用new 初始化





1. 堆栈的空间有限,对于大量的逻辑的对象,创建类要比创建结构好一些
2. 结构表示如点、矩形和颜色这样的轻量对象,例如,如果声明一个含有 1000 个点对象的数组,则将为引用每个对象分配附加的内存。在此情况下,结构的成本较低。
3. 在表现抽象和多级别的对象层次时,类是最好的选择
4. 大多数情况下该类型只是一些数据时,结构时最佳的选择

推荐
发表于 2016-6-14 16:54:37 来自手机版 | 只看该作者
楼主啊,节哀顺变~~~还是给你个赞!!!

 

回复

使用道具 举报

推荐
发表于 2016-6-14 16:51:05 来自手机版 | 只看该作者
那些大神都是为了自己的利益,没办法

 

回复

使用道具 举报

推荐
发表于 2016-6-14 16:36:34 来自手机版 | 只看该作者
楼主想开点

 

回复

使用道具 举报

推荐
发表于 2016-6-14 16:29:24 来自手机版 | 只看该作者
楼主应该有心理准备

 

回复

使用道具 举报

沙发
发表于 2016-6-14 16:26:26 来自手机版 | 只看该作者
不要走啊。!。

 

回复

使用道具 举报

报纸
发表于 2016-6-14 16:37:36 来自手机版 | 只看该作者
阿弥砣佛

 

回复

使用道具 举报

地板
发表于 2016-6-14 16:37:41 来自手机版 | 只看该作者
不送。好走

 

回复

使用道具 举报

9#
发表于 2016-6-14 16:58:08 来自手机版 | 只看该作者
这就可以看出那些是狗了

 

回复

使用道具 举报

10#
发表于 2016-6-14 17:06:00 来自手机版 | 只看该作者
然并卵

 

回复

使用道具 举报

11#
发表于 2016-6-14 17:08:58 来自手机版 | 只看该作者
你很不错,不过既然你分享了,要知道这是互联网,总有人会传播的,别太往心里去,应该一开始就有心理准备的

 

回复

使用道具 举报

12#
发表于 2016-6-14 17:14:36 来自手机版 | 只看该作者
应该著名搬谁的砖,原作者同不同意修改ROM,这样才对吧?

 

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

© 2008-2024 移动叔叔. 版权所有,专业的网络售后平台 ( 闽ICP备18006692号-3 )

商务合作点击这里给我发消息|Email:service@mobileuncle.com|手机版|移动叔叔     

GMT+8, 2024-11-16 18:00 , Processed in 0.218873 second(s), 12 queries , Gzip On, Memcache On.

返回顶部