Вы, скорее всего, можете перейти в C # обеими ногами, если вы уже знакомы с VB.NET. Эти два языка очень похожи, как только вы выходите за рамки фигурных скобок и других синтаксических различий. Я изучал C # главным образом из преобразования проектов VB.NET с помощью некоторых онлайн-инструментов преобразования и поиска всего, что я не сразу понял в связи между этими двумя языками. Если вам не нужно конвертировать то, что вы уже написали, используйте пример кода, который вы можете найти на CodeProject или даже MSDN . Попутно вы, вероятно, накопите библиотеку изящных приемов, которые можно использовать в будущих приложениях.
Мне очень повезло с инструментом преобразования Developer Fusion , и я несколько раз использовал этот . Кроме того, как я думаю, многие опытные программисты .NET скажут вам, что ничто не заменит Reflector .
Это оставляет вас в основном в битве за изучение любых различий между стилями кодирования и принятыми практиками в C # и VB.NET. Я не знаю, где еще лучше узнать это, чем читать Переполнение стека.
Некоторые электронные книги могут помочь, например, Illustrated C # 2008, которая, по-видимому, доступна бесплатно .
Что касается фона QBasic, то, если это большая часть вашего опыта, самым большим препятствием для перехода на C # будет изучение объектно-ориентированного программирования. Чтобы по-настоящему освоить любой из языков .NET, вам необходимо иметь полное представление о таких понятиях ООП, как объекты, классы, абстракция, наследование, инкапсуляция, полиморфизм и т. Д. У меня нет конкретных названий, которые можно порекомендовать здесь (их легко найти), просто совет не пренебрегать глубоким пониманием шаблонов проектирования при работе с синтаксисом языка.
Самое главное, не бойтесь задавать вопросы! Это то, как мы все узнали, признаем ли мы это или нет. : -)