C Sharp Structs

Education is not limited to just classrooms. It can be gained anytime, anywhere... - Ravi Ranjan (M.Tech-NIT)

C# Structs

In C#, classes and structs are blueprints that are used to create instance of a class. Structs are used for lightweight objects such as Color, Rectangle, Point etc.

Unlike class, structs in C# are value type than reference type. It is useful if you have data that is not intended to be modified after creation of struct.

C# Struct Example

Let's see a simple example of struct Rectangle which has two data members width and height.

  1. using System;  
  2. public struct Rectangle  
  3. {  
  4.     public int width, height;  
  5.   
  6.  }  
  7. public class TestStructs  
  8. {  
  9.     public static void Main()  
  10.     {  
  11.         Rectangle r = new Rectangle();  
  12.         r.width = 4;  
  13.         r.height = 5;  
  14.         Console.WriteLine("Area of Rectangle is: " + (r.width * r.height));  
  15.     }  
  16. }  

Output:

Area of Rectangle is: 20

C# Struct Example: Using Constructor and Method

Let's see another example of struct where we are using constructor to initialize data and method to calculate area of rectangle.

  1. using System;  
  2. public struct Rectangle  
  3. {  
  4.     public int width, height;  
  5.   
  6.     public Rectangle(int w, int h)  
  7.     {  
  8.         width = w;  
  9.         height = h;  
  10.     }  
  11.     public void areaOfRectangle() {   
  12.      Console.WriteLine("Area of Rectangle is: "+(width*height)); }  
  13.     }  
  14. public class TestStructs  
  15. {  
  16.     public static void Main()  
  17.     {  
  18.         Rectangle r = new Rectangle(5, 6);  
  19.         r.areaOfRectangle();  
  20.     }  
  21. }  

Output:

Area of Rectangle is: 30

Note: Struct doesn't support inheritance. But it can implement interfaces.