C#结构体与类区别

来源:互联网 发布:编发教学软件 编辑:程序博客网 时间:2024/06/15 11:43

1. 结构体与类定义方式

结构体定义使用struct类定义使用class结构体:
    struct testDemo{        int num;        void action(){        }    }
   类:
    class testDemo{        int num;        void action(){        }    }

==================

2. 结构体与类的成员初始化

  1. 结构体成员变量在声明时不能赋值,而类在声明变量时会自动写入构造函数完成赋值(即只能定义,不能执行)。
  2. 结构体中隐式构造函数存在,不能手动写,其余构造函数在手动编写中必须对所有成员变量初始化。
  3. 在结构体创建中,若使用new创建,则可以使用其中的成员变量(隐式构造函数会为所有成员变量赋值,对于值类型初始化为0,引用类型为null)
  4. 结构体不能再继承(结构体继承自Object),但可以implements接口

3.结构体与类最大的区别

  • 结构体是值类型,类是引用类型.
  • 结构体在栈中,访问速度快,空间小。类在堆中,访问速度比栈慢,空间大。
  • 结构体是值类型,类是引用类型。
0 0