Троелсен пишет профессионалам, тем, кто уже профессиональный разработчик в каком-либо языке, а теперь хочет разобраться с C#. Раз книга направлена на профессионала, то в ней не указываются общие основы программирования - например, нет ничего про паттерны, нет инфы, для чего нужен ООП, какие типы данных выбрать для конкретной задачи, какие типы массивов/списков взять, и т.п. Например, в книге описаны три разных способа работы с потоками. Каждый из типов хорошо описаны, но не указаны, какой из способов лучше использоваться. (хотя, конечно же, автор пытался показать, для чего нужны эти типы и в чем они отличаются, но выбор конкретного типа работы с потоками нужно выбирать разработчику.)
Например, если разработчик хорошо знает Java. Тогда для него книга Троелсена идеальна. Можно понять, что в языке есть и как этим пользоваться.
В итоге, эта очень сильная книга, которую легко можно использовать как справочник.
Поэтому, эту книгу я не рекомендую как учебник программирования. Но когда вы пару-тройку лет поработаете с шарпом, то эта книга даст полное развёрнутое описание языка.
P.S. Шилдта я не читал, не могу рассказать, на что она направлена.