介绍C#结构体与类区别

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.结构体与类最大的区别

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

C#实例:http://www.eyesourcecode.com/f/CSharp/1