I have been learning C# from scratch using a book called The C# Player's Guide. For the most part I found it really good, but as it moved into more advanced concepts I stated to find it less and less helpful. There are some topics where I felt I was basically readying a wikipedia article just giving a cursory explanation of a concept.
I'm looking for more information on Polymorphism, Virtual Methods, and Abstract Classes... Strutcs also.
I would prefer a book to buy and what I really need is something with exercises to practice what it is talking about if possible.
Would anyone have any suggestions for learn programming books that cover these topics in detail?