zoukankan      html  css  js  c++  java
  • [转] C#中Struct与Class区别

    根据C# programming reference给出来信息,Struct实质上还是用来实现轻量级别的类派用处的,这就意味着它还是可以有属性,方法(函数)以及标签等,唯一的区别在于,Struct在编程的时候不能由程序员申明构造函数,即使是默认(不带参数)的构造函数,同样也不能有析构的处理部分。这是因为Struct的构造函数是由编译器自动生成的。并且Struct的用途是那些描述轻量级的对象,例如Line,Point等,并且效率比较高。
     
    偶觉得郁闷的倒不是答错题不能够通过面试。而是认为个人觉得这个Struct实在没有必要存在于C#的语言中。为什么呢?因为,类能够完全替代Struct的行为,唯一影响效率的问题在于,Struct是以传值的方式来传递的,而Class是以引用的方式来传递的。所以有人会说啦,如果系统中存在大量轻量级的对象,你就可以用Struct啦,那样效率高很多,我认为是脑子被牛踩过才会想出来这样的设计,你想,一个系统要是能够轻量级的对象多到影响效率的地步,那么就该好好考虑一下重新作设计。更何况,编译器还是会给构造函数于Struct的,因此,个人认为即使编译时刻它也没啥优势。
  • 相关阅读:
    【dp专题1】hdu1003 D
    #网络之宙斯盾航母#-----占位--------linux
    面向过程6-----#过程之王#----占个位-----汇编语言----(面向机器)
    面向过程5----c#
    高级语言学习总结
    js实现求二元一次方程的根
    小知识点总结
    js小案例,判断年龄是否成年
    js实现结婚吧小案例
    面向过程4-----perl
  • 原文地址:https://www.cnblogs.com/ddyq/p/2042144.html
Copyright © 2011-2022 走看看