Вопрос: Эффективное обучение?

Лучший ответ: отличный способ преодолеть фазу обучения в которой Вы увязли - писать программы для себя
(ну или не только для себя, важно - решать реальную задачу, пусть самую маленькую, но полезную себе или кому то рядом + нужно выбирать то что интересно)
для начала простые:
- консольные программы для манипуляции с файловыми обьектами - специфические поиски, бекапирование, поиск мусора для удаления (с этим осторожно ;).. главное что то из того что Вам нужно или интересно
- консольные программы, которые ходят в интернет и что то там достают.. что то такое что Вы действительно каждый день смотрите на главной странице яндекса или любимой соц сети - температуру воздуха, курс доллара.. все что угодно, но лучше всего - то что вы действительно часто смотрите для себя.. так интереснее..
- простейшие винформ программы - пересчет чего то во что то.. главное того, что вы действительно часто считаете
- совместите добычу инфы с вебстраницы с выдачей в винформу
- напишите программу которая прячется в трей + в фоне проверяет интересную для вас инфу на вебстраницах, и по условию выдает всплывающее сообщение об изменении значения... или просто по интервалу времени - текущее значение
- напишите кликер для какого то часто выполняемого Вами в вебе действия, используя встраиваемый браузер в винформ и/или WPF
припомните типовые любые действия которые Вы часто производите за компьютером, и иногда казалось что их можно автоматизировать - и попробуйте это сделать
(если рядом есть бухгалтеры - попробуйте автоматизировать запуск архивирования базы 1С, или написать плагин для Excel - все это, и многое подобное очень весело делается на C#)
создайте в LightSwitch для себя базу учета чего то личного - финансов, спортивных показателей... чего угодно, главное что то из того что Вы действительно не прочь учитывать
.......... а потом переделайте это в полноценную программу уже без LightSwitch 
главное - это переместить внимание от чужих абстрактных задач в учебниках, на что то свое...
Вы очень быстро заметите, что постоянно возникают вопросы, которые трудно найти в книгах, в хелпе - и научитесь гуглить их..
Вы быстро заметите, что консольные программы удобны до тех пор, пока решаю одну единственную задачу и выдают инфу по ней, что базовых примитивов винформ/ВПФ не хватает для создания интерфейса даже всего лишь чуть более продвинутого чем примитивный..
(на этом этапе рекомендую обратить внимание Syncfusion - хотя они у нас несколько менее известны чем DevExpress или Telerik, зато у них есть бесплатная лицензия, при этом библиотеки компонентов весьма богаты, поддерживаю все платформы  MS C#, и еще прилагается огромная коллекция метро икон проф качества и тоже...)
ps
пример полезных подручных средств - относительно недавно я отказался от инсталлрованных хрома и фаерфокса - загружаю периодически хромиум, а фокс и портабельный умудряется себя апдейтить..
кроме того у меня более чем по одному профилю для обоих браузеров, скажем так довольно много..
и задаю я их в командной строке..
так вот однажды мне ндоело править ярлыки.. и появилась на свет программка, которая сканирует заданные диски, ищет паки с браузерами и папки с профилями, после чего формирует ярлыки, именует их по имени папок профилей и складывает куда укажут - к примеру на рабочий стол..
потом программка обзавелась интерфейсом настроек, научилась запоминать последние указанные пути расположений.. ну и еще несколько удобных мелочей типа какая иконка фокса мне больше сегодня нравится - обычная рыжая или синяя? (дев эдишен).. и так далее..
казалось бы просто, однако по мере создания пришлось решить целый букет интересных творческих вопросов )))
удачи в обучении! ;)

Худший ответ: То чего тебе не хватает - работа бок о бок с опытными людьми. Учиться изобретать велосипеды непросто и действительно неэффективно. В зависимости от твоих возможностей устройся на работу стажером или джуниором в команду, где есть опытные специалисты по твоему профилю и твой рост пойдет радикально другим темпом.