What is the difference between Static class and Singleton instance in C#?


  • Static is a keyword
  • Static classes can contain only static members
  • Static objects are stored in stack.
  • Static cannot implement interfaces, inherit from other classes


  • Singleton is a design pattern
  • Singleton is an object creational pattern with one instance of the class
  • Singleton can implement interfaces, inherit from other classes and it aligns with the OOPS concepts
  • Singleton object can be passed as a reference
  • Singleton supports object disposal
  • Singleton object is stored on heap
  • Singleton objects can be cloned
  • Singleton objects are stored in Heap

Updated on: 08-Aug-2020


Kickstart Your Career

Get certified by completing the course

Get Started