What are the difference between class and structure in C#?
Structure
- Struct are value types.
- They can be empty but a null cannot be assigned to Struct
- Structs cannot contain explicit parameterless constructors.
- Doesn’t support Inheritance and cannot use the protected or protected internal modifier.
- A Struct always has a built-in public default constructor.
- Cannot use the “as” operator.
- Cannot have a destructor
- Cannot be abstract
Class
- Classes are reference types.
- Classes can be nothing – the reference can point to a null.
- Classes can have explicit parameterless constructors
- Supports Inheritance
- Cannot inherit from another class but can implement interface
- Can use all access modifiers
- A class can use “as” operator.
- Can have a destructor.
- Can be abstract
Leave a Reply