В каком порядке стоит учить c#?
Можно просто по любой более-менее толстой книжке. Как правило там на первых страницах основы, а по мере пролистывания дальше - усложнение материала. По мере освоения - ещё изучить паттерны проектирования.  Примерно после этого возникнет понимание что в общем-то независимо от направления ничего из изученного не является "лишним".
Как проходящий обучение на C# разработчика(веб-отрасль), могу дать один совет, изучай всё понемногу постепенно,  не стоит лезть вперед батьки в пекло и изучать делегаты и многопоточность. Начать стоит с самых простых моментов(как например, типы данных, структура программы и.т.д), затем перейти к ООП и делегатам, после чего к сериализации, работе с файлами, исключениями и логированием, многопоточность, WPF. Потом начать с изучения первых реляционных БД(PostgreSQL и MySQL, самые популярные), а затем уже переходить на что-то более тяжелое, такое как ADO, Entity Framework, паттерны и наконец брать за рога ASP.NET Core. При наличии лишнего времени и желания, после изучения WPF можно полазить в Xamarin(но только если у тебя ПК на Intel+Windows или Mac OS, так как на процессорах AMD либо не запустишь, либо будешь страдать))).