Programming in C#: Creating and Using Types