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的,因此,个人认为即使编译时刻它也没啥优势。
  • 相关阅读:
    运算符重载
    责任链模式
    MFC一些常见面试问题
    浅拷贝&深拷贝
    下雨的效果
    本地时间使用与倒计时
    钟表效果
    一种水纹波浪效果
    一个相册效果
    在Flash中管理鼠标右键
  • 原文地址:https://www.cnblogs.com/ddyq/p/2042144.html
Copyright © 2011-2022 走看看