Introduction
Value types hold their data directly. When you copy them, you get a new, separate copy of the data.
When you want to store simple data like numbers or small groups of related values.
When you want to avoid unexpected changes by having independent copies.
When you want fast copying without extra memory overhead.
When you want to pass data to methods without affecting the original.
When you want to understand how structs behave differently from classes.