I frequently read that structs should be immutable - aren\'t they by definition?
Do you consider int to be immutable?
int i
You can write structs that are mutable, but it is best practice to make value types immutable.
For instance DateTime always creates new instances when doing any operation. Point is mutable and can be changed.
To answer your question: No, they are not immutable by definition, it depends on the case if they should be mutable or not. For instance, if they should serve as dictionary keys, they should be immutable.