Even if you have never heard of structs before reading this chapter, the chances are that you have already used them quite a bit. Simple (or primitive) types in C# are implemented as structs internally. 
 Your sbyte, short, int, long, byte, ushort, uint, ulong, float, double, decimal, char, and bool types are all internally implemented as structs.
You should choose to use a struct rather than a class for performance reasons. If you are writing a class that: