c#语言中,结构体和类的区别?

在C#语言中,“结构体”和“类”有啥区别?怎样辨别是结构体还是类!两者里面是不是都有构造函数?为什么结构体用得比较少?望c#高手指点,谢谢!我把“结构体”、“类”、“构造... 在C#语言中,“结构体”和“类”有啥区别?怎样辨别是结构体还是类!
两者里面是不是都有构造函数?为什么结构体用得比较少?
望c#高手指点,谢谢!我把“结构体”、“类”、“构造函数”这三种搞混了,有点分不清,麻烦给讲解下!真的谢谢了。。。。。
展开
 我来答
匿名用户
2014-03-13
展开全部
【从定义上区分】1)结构体是structure为关键字起手的定义,而类是class。2)结构体的默认构造函数是无参的构造函数,但是如果你为一个结构体定义了带参的构造函数,你绝对不能再重复去写一遍那个无参的空构造函数;类相反——定义了一个带参的构造函数,绝对要再重复定义一次空构造函数,否则你无法调用空构造函数。 【从使用角度区分】1)Struct结构体是“复合类型”,其功能等同与基本的int,double的用法,尽管struct也可以写方法,但是不赞成这样做。因为struct的引入是为了解决“多类型”的问题(比如一个学生记录包含id,name等不同基本类型的组合,单个int,string无法满足,所以才出现了struct)。类是组成面向对象编程的基础,功能远远大于结构。2)Struct因为默认继承System.ValueType(可以这样理解),因此说,一个结构赋值给另外一个结构的时候,相当于做了拷贝复制功能(两者完全没有联系,假设A=B,那么B和A各自改变互不影响);但是class的话A=B,A和B共同引用同一个单元,A或者B有一方改变就影响了另外一方。本质上class是封装的指针而已。
匿名用户
2014-03-13
展开全部
6. .NET中类和结构的区别?   答:结构和类具有大体的语法,但是结构受到的限制比类要多。结构不能声明有默认的构造函数,因为结构的副本是编译器创建和销毁的,所以不需要默 认的构造函数和析构函数。结构是值类型,所以对结构变量所做的改变不会影响其的原值,而类是引用类型,改变其变量的值会改变其原值。声明结构用 Struck关键字,申明类用class关键字,向方法传递结构时是通过值传递的,而不是通过引用。与类不同,结构的实例化可以不使用New关键字。类可以实现接口。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-03-13
展开全部
”结构体”、“类“功能上差不多,只是”结构体”一个值传递,“类“一个指针传递。而“构造函数”是实例化一个声明的对象。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式