zoukankan      html  css  js  c++  java
  • C#中类和结构体区别

    1、 值类型和引用类型

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

    2、继承性

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

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

    3、 内部结构

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

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

  • 相关阅读:
    Markdown基本必学语法
    Javascript检测值
    JS中的函数传参
    解决windows下node-sass报错的问题
    scroll的应用
    css中常见几种float方式以及倒计时(刷新页面不清)
    jquery中append与appendTo方法区别
    如何利用sql注入进行爆库
    Smarty静态缓存
    我的DBDA类
  • 原文地址:https://www.cnblogs.com/mxxblog/p/2396687.html
Copyright © 2011-2022 走看看