Изучение C# как программист VB.NET

Я надеюсь переключаться на C#. Я происхожу из C / фон C++, но C# немного отличается для меня. Я переключаюсь главным образом из-за Silverlight и MVVM; все примеры находятся в C#. Любая информация находится в C#, и я смущен, когда я прочитал все это.

Что хорошее место состоит в том, чтобы начать изучать C# при запуске с существующего C / знание C++?

5
задан Daniel Imms 1 May 2012 в 07:41
поделиться

5 ответов

Начните писать код на C# ASAP. Единственный способ выучить язык - это написать его. Вы уже понимаете VB.NET. У вас есть огромная зацепка по любому новичку в .NET.

Возьмите небольшое приложение, которое Вы написали на VB.NET и методично измените его на C#.

Вы быстро выучите синтаксис и т.д..

Напишите все свои будущие проекты на C#. Просто заставьте себя внести изменения, и вы справитесь.

17
ответ дан 18 December 2019 в 07:54
поделиться

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

Однако, если вы когда-либо работали с истинным VB'er, вы будете видеть определенные функции VB, используемые в их коде, это заставит вас поцарапать голову. Существуют функции обработки последовательности и кастинг функций, например, что необходимо будет преобразовать. Кроме того, C# не имеет никакого RaiseEvent. События прилагают немного больше усилий понять в C#, потому что необходимо перенести ум вокруг делегатов (указатели/обратные вызовы функции C++). Как другие сказали, если вы происходите из C++, это не должно быть слишком трудно.

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

Наконец, C# является большим языком. Я был очень скептически настроен, когда я сначала начал использовать.NET, но теперь я знаю, что MS собрал правильный талант к той рамке и языку.

Удача.

1
ответ дан 18 December 2019 в 07:54
поделиться

GAC

Начиная с .NET Framework 4, расположение по умолчанию для глобальный кэш сборки -% windir %\Microsoft.NET\assembly. В более ранних версии .NET Framework, расположение по умолчанию: % windir %\assembly

-121--2702168-

Как указано в "Имеет ли git что-то вроде svn propset svn: keywords или пред-/постфиксационных зацеплений?" , Git не поддерживает расширение ключевых слов.

" Работа с расширением ключевого слова SVN с помощью git-sv " обеспечивает решение, основанное на git config filter (что не совсем то, что нужно) и/или gitatributes .


Самый близкий пример, если расширение информации файла я нашел его все еще на основе подхода smudge/clean, с этим git хэш-фильтром , но чистая часть удаляет его из файла, и путь не может быть найден.

Этот поток фактически описывает его (а также упоминая некоторые команды git-fu, которые могут содержать то, что вы ищете, я не тестировал их):

В любом случае, смешение/чистота не дает немедленного решения проблемы из-за меньших технических недостатков:

  • фильтру smudge не передано имя извлекаемого файла, поэтому невозможно точно найти идентификатор фиксации.
    Однако это облегчается тем фактом, что "smudge" выполняется только для измененных файлов, поэтому последняя фиксация является необходимой.

  • фильтру сглаживания не передан идентификатор фиксации. Это немного серьезнее, так как эту информацию негде получить иначе.
    Я попытался использовать значение HEAD, но, по-видимому, оно еще не обновлено в момент запуска "smudge", поэтому файлы заканчиваются датой "предыдущей" фиксации, а не выданной фиксации.
    "Предыдущее" означает фиксацию, которая была извлечена ранее. Проблема усугубляется, если другая ветвь извлекается, так как файлы получают отметку времени предыдущей ветви.

АЗАИР, отсутствие информации в фильтре помутнения было намеренным, чтобы препятствовать этому конкретному использованию механизма помутнения/очистки. Тем не менее, я думаю, что это можно пересмотреть, учитывая случай использования Питера: "только извлечение" рабочей области для немедленной публикации на веб-сервере.
Кроме того, любой, кто заинтересован в этом сценарии использования, может реализовать дополнительные аргументы smudge в качестве локального исправления сайта.

И тогда есть небольшие неприятности, которые кажутся неизбежными: если изменить "чистый" фильтр и проверить более раннюю редакцию, то будет сообщено, что он имеет изменения (из-за измененного "чистого" определения).

-121--2616670-

Прочитайте лучшие книги C # .:)

1
ответ дан 18 December 2019 в 07:54
поделиться

Статья Википедии "C Sharp (язык программирования)" - достойное введение в C# как в язык.

1
ответ дан 18 December 2019 в 07:54
поделиться

Как вы знаете C++ (как вы написали в вопросе) и VB.Net (как вы упомянули в заголовке), C# не составит для вас труда, если вы хорошо их знаете. Если это так, просто возьмите любой источник в C# и прочтите его.

Кстати, статья из Википедии - очень хорошее вступление.

0
ответ дан 18 December 2019 в 07:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: