C# advanced programming (seventh edition) part3