From msdn
Structs differ from classes in several important ways:
-
- Structs are value types (section 11.3.1 ).
-
- All struct types implicitly inherit from the class
System. valuetype
(Section 11.3.2 ).
-
- Assignment to a variable of a struct type createsCopyOf the value being assigned (section 11.3.3 ).
-
- The default value of a struct is the value produced by setting all value type fields to their default value and all reference type fields
Null
(Section 11.3.4 ).
-
- Boxing and unboxing operations are used to convert between a struct type and
Object
(Section 11.3.5 ).
-
- The meaning
This
Is different for structs (section 11.3.6 ).
- Instance field declarations for a struct are not permitted to include variable initializers (section 11.3.7 ).
-
- A struct is not permitted to declare a parameterless instance Constructor (section 11.3.8 ).
-
- A struct is not permitted to declare a destructor (section 11.3.9 ).