You have used value types throughout this book; for example,
int is a value type. This chapter discusses not only using value types but also defining custom value types. There are two categories of custom value types: structs and enums. This chapter discusses how structs enable programmers to define new value types that behave very similarly to most of the predefined types discussed in Chapter 2. The key is that all newly defined value types have their own custom data and methods. The chapter also discusses how to use enums to define sets of constant values.