What are the difference between class and structure in C#?

Published on June 2, 2013 by Senthil Kumar

Filed under C#

Last modified June 2, 2013

Print this page

rate 1 star rate 2 star rate 3 star rate 4 star rate 5 star
Your rating: none, Average: 0 (0 votes)

This article have been viewed 10955 times

What are the difference between class and structure in C#?


  • 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


  • 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 Comment


You might be Interested in these Posts

C Program to convert lower case string to upper case

Problem Statement Write a program in C to convert the given string from lower case to upper case. ...

How to decode a base64 string in C#?

Here's a sample code snippet demonstrating how you can easily decode a base64 encoded string in C#. ...

How to disable editing of items in a combo box in c#?

When working in Win forms using C# and especially when you use the combo box , you would have notice...