What is the difference between value types and reference types in C#?

  1. There is no difference between them
  2. Reference types are always immutable
  3. Value types are slower than reference types
  4. Value types store data directly, reference types store memory addresses

Explanation

Value types (int, char, bool, struct) store data directly in memory stack, while reference types (class, interface, delegate) store references to memory addresses on the heap where the actual data is stored.