• C#中类和结构体区别


    1、 值类型和引用类型

    类是引用类型,继承System.Object,数据存储在堆上,结构体值类型,继承System.ValueType,数据存储在堆栈上;堆栈上的对象有编译器自动创建和销毁,所以堆栈的执行效率要高些,但是堆栈资源有限,不适合出力复杂的大的逻辑,所以结构体出力小对象,类处理复杂的商务逻辑;类创建一个新对象,只是创建了一个引用,新对象的修改同时也会反映到源对象上,而结构体创建一个新对象后是创造源对象的一个副本,新对象的任何修改不会反应到源对象上。

    2、继承性

    类可完全扩展,可以继承基类和接口,也可以被继承,除非显示被声明为sealed.

    结构体不能继承类或者结构体,虽然没有显示声明为sealed但是默认为sealed,但是可以继承接口

    3、 内部结构

    类有默认的构造函数、析构函数,可以使用abstract,sealed,protect等修饰符,必须用new初始化;

    结构体没有默认的构造函数,没有析构函数,可以自定义带参数的构造函数来初始化字段,但是不能定义不带参数的构造函数,不能初始化实力字段,可以不用new初始化;

  • 相关阅读:
    第七周总结
    第六周总结
    第五周总结
    第四周总结
    第三周总结
    第二周总结
    第一周总结
    《需求分析和系统设计》阅读笔记三
    《需求分析和系统设计》阅读笔记二
    Linux——error while loading shared libraries 的解决方法
  • 原文地址:https://www.cnblogs.com/mxxblog/p/2396687.html
Copyright © 2020-2023  润新知