Подтвердить что ты не робот

Как мне настроить свои навыки на С#, когда я провел последнее десятилетие в VB?

Я начал кодирование своей карьеры в C/С++ на системе vax, но попал в несколько контрактов, где это был все VB, а затем стал специалистом в VB, а затем на VB.net. Теперь я стремлюсь работать в Microsoft, и кажется, что каждое задание, которое они публикуют, находится в C/С++/С#, и я едва могу читать код С#, это выглядит как самый запутанный беспорядок для меня, и встроенный синтаксис почти ушибает мои чувства.

Я ищу положительные, не пылающие, полезные предложения о том, как снова взять навыки С#. Books..Labs..etc? Я пробовал простые проекты с использованием Silverlight и С#, чтобы попытаться их обработать, но это очень неприятно, так как примеров очень мало, и я могу найти, что иллюстрирует, как выглядит каждый набор кода. Я Googled, но еще не нашел ничего полезного, кроме lab9, и работал над некоторыми примерами кода/проектов из mix10.

Я не ищу ярлыка, но хорошее понимание навыков. Клянусь, вам легче перевести английский язык на латынь, чем VB на С#.

4b9b3361

Ответ 1

Я лично начну с преобразования проекта VB.NET в С#, выполнив VB.NET, это будет не сложно, как только вы начнете, поскольку оба они используют одну и ту же базовую среду CLR.

Выполняя этот шаг шаг за шагом, глядя, как конвертировать каждый бит, который вы не понимаете, вы скоро закончите тем, что обучите себя С#, основываясь на знаниях VB.NET, и вы увидите, действительно не так уж и много!

Я нахожу их очень похожими, теперь я знаю их обоих, у них просто есть привычка делать вещи "слегка" по-другому.

Кроме того, посмотрите эту страницу вики для сводного сравнения VB.NET и С# и посмотрите примеры внизу чтобы увидеть некоторые базовые синтаксические сравнения, которые дадут вам отправную точку для преобразования VB.NET в С#.

Ответ 2

Так как VB.NET и С# являются первоклассными объектно-ориентированными .NET-языками, которые скомпилируются почти до одного и того же кода CIL, мне довольно легко переключаться между ними. Большая часть кривой обучения в .NET объясняется изучением множества API-интерфейсов; синтаксис не займет много времени, чтобы забрать.

Я бы порекомендовал хорошую книгу, посвященную языку С# (то есть не к структуре, такой как Winforms, Silverlight или WPF). Книга, которую мне очень понравилась, была Иллюстрированный С# 2008 от Daniel Solis. Это прекрасно, когда вы показываете язык С# из конца в конец. (ПРИМЕЧАНИЕ. Хотя в заголовке указано "Иллюстрировано", оно не заполнено множеством красивых изображений. "Иллюстрированный" просто означает, что автор использует множество полезных диаграмм для объяснения понятий).

Кроме того, я потратил немало времени на решение математических задач http://www.projecteuler.net, чтобы изучить С#. Это помогает решить настоящие проблемы, чтобы изучить язык, и Project Euler предлагает проблемы, которые достаточно малы, и вы все же можете сосредоточиться на изучении различных аспектов языка.

Ответ 3

Странно, что у вас такая трудность, если вы все еще можете вспомнить что-нибудь о C. У меня есть аналогичный фон, но я не считаю, что С# трудно читать вообще.

Вас путают LINQ или lambdas/анонимные методы? EDIT, вы говорите, что LINQ: вот некоторые ссылки для LINQ.

  • Синтаксис LINQ отличается от VB от С# и там не очень помогает там для синтаксиса VB. MSDN 101 VB LINQ образцы хороши, и мне также понравилось освещение в книге Программирование VB 2008.
  • Lambdas - это способ написания методов inline, которые могут быть "встроенным синтаксисом", на который вы ссылаетесь? В этом случае просто прочитайте их и попробуйте: вы можете попробовать их на С# или VB.Net.

В январе 2008 года были некоторые полезные статьи о различиях между С# и VB.Net в журнале Visual Studio.

Вас также может заинтересовать вопрос "что разрешено в VB, которое запрещено на С# (или наоборот)"

Полное раскрытие: нижняя часть этого ответа скопирована почти без изменений из этого вопроса о преобразовании знаний С# в VB.Net

Ответ 4

Купить " Head first С#" и наслаждаться кодированием. Это лучшая книга (по мнению меня и некоторых других) на рынке обучения С#.

alt text

Ответ 5

Скотт Гензельман публикует регулярный столбец своего блога под названием "" Еженедельный исходный код", который составлен из исходного кода - обычно С# --- который вы можете узнать, прочитав.

Ответ 6

Мой первый выбор - это то, что задано W69rdy: конвертируйте какой-то проект, который вы уже сделали в VB на С#.

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

Ответ 7

Если вы ищете быстрое чтение и учебник, this, вы будете работать. Я согласен с @TechNeilogy и @W69rdy, что преобразование программы из VB.NET в С# поможет с пониманием сходств и различий между языками.

Я преобразовал службу VB.NET Windows в службу Windows С#, и она очень помогла нам изучить С#.

Ответ 8

Я тоже программист VB.NET. Я обнаружил, что использование Jetbrain Resharper Visual Studio плагина действительно помогло моей кривой обучения. Первоначально я преобразовывал/оптимизировал проект VB.NET на С#, и я нашел, что инструменты поддержки кодирования действительно полезны. Большую часть времени я просто пытался найти эквивалент С#, поэтому завершение кода обычно помещало меня в правильном направлении.

Ответ 9

Я также недавно перешел на С# из VB - я нашел этот конвертер бесценным как инструмент для обучения, t знаю немного синтаксиса С#, но вы можете записать его в VB.

Ответ 10

Вы должны начать с некоторых учебных пособий по С# в Интернете, чтобы понять, как работать с С#, а затем прочитать книгу объемом не более 300 страниц. После этого вы можете начать конвертацию с VB на С#. Это не сложно. Удачи.

Ответ 11

Я использую как vb.net, так и С# на работе. Иногда в одном и том же проекте. Честно говоря, когда вы переключаетесь туда и обратно, после того, как первая пара потеряла или потеряла ; или Dim, довольно легко прыгнуть между ними. Остальная часть материала (модификаторы классов, обработчики событий и т.д.) - это только быстрый google.

Ответ 12

Единственный способ, которым вы действительно собираетесь сделать шаг, - просто сделать шаг и запустить с ним!

Конечно, ознакомьтесь с базовым учебным пособием или прочитайте руководство на С#, чтобы изучить основы синтаксиса, но тогда вам нужно найти достаточно простой, автономный проект, чтобы застрять. Если вы знаете некоторую платформу .NET(которую вы предположительно делаете), то прыжок на самом деле не будет таким большим. Очевидно, что не начинайте с огромной, сложной, критически важной системы!

На самом деле, хотя мой текущий проект - мой первый проект С#, я не могу поверить, что раньше я не переключался. Помимо удовольствия от С#, мне также легче, потому что я нахожу, что есть примеры более хорошего качества.

Ответ 13

Я не имею в виду это покровительственно, но ответ заключается в том, чтобы просто начать кодирование на С#!

Существует множество книг, ресурсов, учебных компакт-дисков (посмотрите AppDev.com для отличного обучения на основе видео), но ничто не сравнится с просто кодирование реальных проблем!

(И я согласен с предыдущим комментарием о преобразовании недавнего проекта в С#.)

"То, чему мы научились, мы учимся, делая" Аристотель