https://www.cnblogs.com/to-creat/p/5268729.html
C#中的结构体与类的区别
经常听到有朋友在讨论C#中的结构与类有什么区别.正好这几日闲来无事,自己总结一下...首先是语法定义上的区别啦,这个就不用多说了.定义类使用关键字class 定义结构使用关键字struct.在语法上其实类和结构有着很多相似的地方....给你看看下面的代码 你就会知道其中的真相了.
?
当我们使用C#编译器将这段代码编译为程序集的时候,看看微软为我们生成的代码吧.
?
展开构造函数,看看这里面有什么蹊跷吧!...是的,C#编译器在编译的时候,如果我们声明字段的时候为字段赋值,那么为字段赋值的代码C#编译器在编译的时候会将赋值的代码放到构造函数中去,其实严格意义上来说,类的字段也是不能有初始值的.只不过微软在背后帮我们做了点事情...最后 谈一下什么时候使用结构,什么使用类.