I already answered in my comment to the question. As I say, my suggestion is: become a master of your learning. If you feel that some book does not lead you well, let it go, but if you doubt it, take the lead right away. Remember, you are not an old lady listening to the version of foreign politics with open mouse from your neighbor, another old lady. Rather, you are a detective trying to assemble a real picture out of pieces from people he interrogates.
Interestingly, I never tried to bye any book on C# in first place, because other information was enough (don't get me wrong: books are very important, especially on the fundamentals), but my colleagues used to bring me some books they bought and asked me what I think, and I always would found at least one piece of
bull… some baseless statements, "explanations" of functionality or recommendations. I guess, the respect to the printed word is developed on the level of reflexes, but this respect is often exaggerated.
So, books can be good or not. But what is better? Well, original documentation is somewhat more reliable:
https://msdn.microsoft.com/en-us/library/618ayhy6.aspx[
^],
https://msdn.microsoft.com/en-us/library/67ef8sbd.aspx[
^].
Also, you need to learn the platform:
https://msdn.microsoft.com/en-us/library/zw4w595w.aspx[
^].
Eventually, it will be good to read the ECMA standards on C# and CLR. You can easily find and download the standard documents. You can check with them in all questionable case and compare with actual behavior of the compilers and runtime.
Experiments can be considered as the integral part of learning; only you should not rely on the results of your experiments along; all your results should be understood theoretically.
But — o bother! — even the original documentation lacks some important detail and even contain some really misleading pages. Typically, this is because some delicate behavior is hard to explain, but the fact that the pages could be written not by original creator of the technology but other people could be some factor. In general, MSDN is reliable enough.
As to the learning techniques, you need to be the master. If the book says that something will be in "future chapter", what prevents you from reading this "future chapter", not in "future", but write now? What prevents you from reading the whole book in first approximation from the beginning to the end, to get the feeling of what is it all about? After all, such book is not a novel, it is not designed to be read just once in sequential order. After all, do you really need advise on how to read. Develop your own way.
Developing exercises? Of course. But do you have the section with exercises at the end of each chapter? If not, this is wrong textbook, or it is not a textbook at all. Take another one. Big deal… Only don't expect the perfect one. Some complain about the quality of the books or insufficient pedagogical talent in the teacher. I call it weakness of the students, or the excuse for laziness (but the complains about lack of knowledge in teachers can be valid). Pedagogical talent in teacher is only required for little kids; for older people, competence is more important. Adult students of college/universally level (and even before this age) should become the active side of the learning process.
—SA