Я надеюсь переключаться на C#. Я происхожу из C / фон C++, но C# немного отличается для меня. Я переключаюсь главным образом из-за Silverlight и MVVM; все примеры находятся в C#. Любая информация находится в C#, и я смущен, когда я прочитал все это.
Что хорошее место состоит в том, чтобы начать изучать C# при запуске с существующего C / знание C++?
Начните писать код на C# ASAP. Единственный способ выучить язык - это написать его. Вы уже понимаете VB.NET. У вас есть огромная зацепка по любому новичку в .NET.
Возьмите небольшое приложение, которое Вы написали на VB.NET и методично измените его на C#.
Вы быстро выучите синтаксис и т.д..
Напишите все свои будущие проекты на C#. Просто заставьте себя внести изменения, и вы справитесь.
Вскоре после изучения VB.NET, я решил, что буду скорее кодировать C#. Я изучил это путем чтения нескольких книг и работы над проектом. Медленно, я преобразовал своих коллег на язык под эгидой VB.NET также. Языки очень похожи, некоторое преобразование кода является просто вопросом изменяющегося синтаксиса.
Однако, если вы когда-либо работали с истинным VB'er, вы будете видеть определенные функции VB, используемые в их коде, это заставит вас поцарапать голову. Существуют функции обработки последовательности и кастинг функций, например, что необходимо будет преобразовать. Кроме того, C# не имеет никакого RaiseEvent
. События прилагают немного больше усилий понять в C#, потому что необходимо перенести ум вокруг делегатов (указатели/обратные вызовы функции C++). Как другие сказали, если вы происходите из C++, это не должно быть слишком трудно.
Многие люди продолжают о необходимости работать над проектом понять язык, с которым я соглашаюсь. Однако существуют функции языков, которые вы никогда не будете знать о том, если вы не заберете несколько книг и чтения о них. Я смог показать моим коллегам много полезных методов только путем чтения нескольких книг.
Наконец, C# является большим языком. Я был очень скептически настроен, когда я сначала начал использовать.NET, но теперь я знаю, что MS собрал правильный талант к той рамке и языку.
Удача.
-121--2702168-Начиная с .NET Framework 4, расположение по умолчанию для глобальный кэш сборки -% windir %\Microsoft.NET\assembly. В более ранних версии .NET Framework, расположение по умолчанию: % windir %\assembly
Как указано в "Имеет ли git что-то вроде svn propset svn: keywords
или пред-/постфиксационных зацеплений?" , Git не поддерживает расширение ключевых слов.
" Работа с расширением ключевого слова SVN с помощью git-sv " обеспечивает решение, основанное на git config filter
(что не совсем то, что нужно) и/или gitatributes .
Самый близкий пример, если расширение информации файла я нашел его все еще на основе подхода smudge/clean, с этим git хэш-фильтром , но чистая часть удаляет его из файла, и путь не может быть найден.
Этот поток фактически описывает его (а также упоминая некоторые команды git-fu, которые могут содержать то, что вы ищете, я не тестировал их):
-121--2616670-В любом случае, смешение/чистота не дает немедленного решения проблемы из-за меньших технических недостатков:
фильтру smudge не передано имя извлекаемого файла, поэтому невозможно точно найти идентификатор фиксации.
Однако это облегчается тем фактом, что "smudge" выполняется только для измененных файлов, поэтому последняя фиксация является необходимой.фильтру сглаживания не передан идентификатор фиксации. Это немного серьезнее, так как эту информацию негде получить иначе.
Я попытался использовать значение HEAD, но, по-видимому, оно еще не обновлено в момент запуска "smudge", поэтому файлы заканчиваются датой "предыдущей" фиксации, а не выданной фиксации.
"Предыдущее" означает фиксацию, которая была извлечена ранее. Проблема усугубляется, если другая ветвь извлекается, так как файлы получают отметку времени предыдущей ветви.АЗАИР, отсутствие информации в фильтре помутнения было намеренным, чтобы препятствовать этому конкретному использованию механизма помутнения/очистки. Тем не менее, я думаю, что это можно пересмотреть, учитывая случай использования Питера: "только извлечение" рабочей области для немедленной публикации на веб-сервере.
Кроме того, любой, кто заинтересован в этом сценарии использования, может реализовать дополнительные аргументы smudge в качестве локального исправления сайта.И тогда есть небольшие неприятности, которые кажутся неизбежными: если изменить "чистый" фильтр и проверить более раннюю редакцию, то будет сообщено, что он имеет изменения (из-за измененного "чистого" определения).
Прочитайте лучшие книги C # .:)
Статья Википедии "C Sharp (язык программирования)" - достойное введение в C# как в язык.
Как вы знаете C++ (как вы написали в вопросе) и VB.Net (как вы упомянули в заголовке), C# не составит для вас труда, если вы хорошо их знаете. Если это так, просто возьмите любой источник в C# и прочтите его.
Кстати, статья из Википедии - очень хорошее вступление.