Comunque riguardo i libri, se ben fatti, ne vale sempre la pena. Lo studio da fonti sparpagliate va bene per chi è già abbastanza ferrato in fatto di tecnologie informatiche e programmazione.
Su C#, beh, ha i suoi limiti. Il problema è che diventa difficile consigliare un linguaggio, perchè tutti hanno i loro limiti e il mercato comunque è orientato su vari linguaggi. Magari esistesse un singolo linguaggio per dominarli tutti. No aspè esiste, si chiama LISP, ma non ha ingranato nelle menti di molti programmatori.
Poi se aggiungiamo pure i sistemi operativi con le loro API, diventa un casino. C# è associato a Windows e .NET principalmente per la volontà decennale di MS di non renderlo cross-platform. Da qualche anno hanno cambiato idea, ma forse è troppo poco e troppo tardi. Che poi C# senza .NET e WPF in particolare, non ha molto da dire rispetto ad altri linguaggi. Web service? Chi te lo fa fare di usare C# invece di Go ( per esempio )?