c#中的结构 和类

c#中的类 和 结构

结构声明格式
需要关键字 struct

namespace Tian{
	public struct Text{}//结构
	public class Text!{}//类 
}

在c#中类和结构是同一级别的,结构是声明在命名空间里的 而没有在类中。
结构和类有许多相似的地方 都可以 写入方法和属性 声明字段 和类的基本操作相同,
但是也有很多不同的地方

如 :
1.在结构中不能给字段赋初值,但是类可以。
2.结构不允许显示声明不带参数的构造函数。
3.如果有构造函数则必须为所有字段赋初值。
4.结构不能声明空的构造函数。
5.结构体里面的构造函数不允许通过属性来赋初值。属性不一定操作的是相应字。
6.结构是值类型,存储在栈上/
7.结构不能定义自动属性,原因是自动属性会在编译时自动生成一个字段,但是这个 字段, 机构要求必须在构造函数中赋初值。


通过上面描述类和结构都可以完成一些相同的工作,那什么时候用类或者结构呢??

1.结构因为存储在栈上,栈的特点是存储速度快,但是容量小,因此当存储一些轻量级数据的时候使用。
2.类是引用类型,存储在堆上,速度相对较慢,但是这个依然是我们大的首选。

此处是我写的值类型和引用类型的原理和区别点击进入

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值