Structs Quiz
Below are the answers to the Structs Quiz, along with a brief discussion.
1. Structs are value types. Their counterpart, classes, are reference types.
2. False. While it is easy to change the struct
keyword to the class
keyword or vice-a-versa, because of the difference in value and reference types, making this kind of a change will potentially have a huge impact on the functionality of your code. Furthermore, classes and structs support different things (nullable types and inheritance to name a few) and if you’re using any of them, you may not be able to simply switch.
3. False. They’re not required to be immutable, but they generally should be created in a way that they’re immutable.
4. False. You should also try to make classes immutable when it makes sense, but because they’re reference types, the impetus for doing so is less. The string
type is a reference type and it is immutable.
5. False. Most of them are, but the string
and object
types are both reference types. Arrays are also reference types.