В Linux и Unix вообще "r"
и "rb"
одинаковы. Более конкретно, указатель FILE
, полученный fopen()
в файле в текстовом режиме и в двоичном режиме, ведет себя одинаково в Unix. В окнах и вообще в системах, которые используют более одного символа для представления « newlines », файл, открытый в текстовом режиме, ведет себя так, как если бы все эти символы были всего одним символом, '\n'
.
Если вы хотите портативно читать / записывать текстовые файлы в любой системе, используйте "r"
и "w"
в fopen()
. Это гарантирует, что файлы будут записаны и прочитаны правильно. Если вы открываете двоичный файл, используйте "rb"
и "wb"
, так что неудачный перевод новой строки не испортит ваши данные.
Обратите внимание, что следствие базовой системы, выполняющей перевод новой строки потому что вы не можете определить количество байтов, которое вы можете прочитать из файла, используя fseek (файл, 0, SEEK_END) .
Наконец, см. Что разница между текстом и двоичным вводом / выводом в comp.lang.c Часто задаваемые вопросы .
C # 4 по сути является расширенным набором всех других версий, поэтому, если вы знаете C # 4, то наверняка знаете более ранние версии. С другой стороны, думаю, стоит знать, что в какой версии. У меня есть пара "руководств для блеферов" на моем веб-сайте C # in Depth, которые дают немного информации о C # 2 и 3 - я скоро сделаю подобное для C # 4. См. этот вопрос для очень краткого списка функций в каждой версии.
Что касается перехода с C и C ++ - постарайтесь игнорировать все, что вы думаете, что знаете. Некоторые биты будут похожи, некоторые будут совершенно другими. Вам следует попытаться работать так, как ожидает вас язык, а не применять к нему идиомы C ++.
Вы можете прочитать Essential C # 4.0 , C # 4.0 в двух словах или Accelerated C # 2010 . Моя собственная книга - C # in Depth - скоро выйдет во второе издание, охватывающее C # 4, но на самом деле она предназначена для людей, которые уже знают C # 1.
Изучение ВСЕХ версий C # было бы пустой тратой времени. Сразу приступайте к изучению C # 4.0 и не забывайте версию, непосредственно предшествующую 4.0. Мастерство использования IDE очень важно. И самое главное код, код, код.
c, c ++ и c # - это «братья и сестры», так что вы на знакомой территории.
C # 4.0 - это расширенный набор возможностей предыдущих версий. Итак, ответ на ваш первый вопрос - «нет, просто прочтите книгу о C # 4.0».
.NET 4.0 добавляет возможности поверх предыдущих версий, и даже если это был совсем новый язык, вам все равно нужно знать «предыдущую» версию, потому что они все еще используются в отрасли. Хорошая новость заключается в том, что вам не нужно изучать версию, просто изучите .NET, а затем выясните, существует ли эта функция в предыдущих версиях.
Изучение C # похоже на изучение любого другого языка - либо пройдите курс, создайте любимый проект, либо учитесь на ходу (или все вместе).
При переходе с C ++ на C # самая большая разница заключается в существовании сборки мусора. К счастью, C # очень похож на C ++, поэтому вы сможете читать (и писать) практически с первого дня. Вы должны найти несколько отличий (структуры - это значения, подобные int), и у вас есть очень обширная библиотека базовых классов, которую вы можете использовать.
Лучший совет, который я могу дать - получите хорошую книгу! Посмотрите серию Wrox - у них есть очень хорошие книги, и вы можете быстро начать работу .. Найдите что-то вроде ".NET 4 Beginning".
И нет - если вы знаете принципы, которых у вас нет , чтобы знать все подробности о предыдущих версиях, особенно если вы уверены, что будете работать только с новыми версиями .. Но если есть время и желание - никогда не помешает узнать больше, поверьте:)
Удачи!
Я тоже новичок в C #. Я сосредотачиваюсь на новых технологиях, поскольку большинству компаний нужны новейшие технологии. Поэтому я сделал акцент на 3.5 (и вкратце просмотрел 3.0 и 2.0). Скорее всего, вы не будете работать над новым проектом, использующим 1.0 или 1.1 На вашем месте я бы сосредоточился на 4.0 и хорошо разбираетесь в 3.5
HTH
Нет. Просто возьмите хорошую книгу про 4.0. Если книга завершена (то есть «для людей, знающих 3.5»), значит, она завершена.
Просто забудьте о предыдущих версиях, ЗА ИСКЛЮЧЕНИЕМ специальных требований (в настоящее время не каждый коммерческий проект будет использовать 4.0).
] Советы? Возьмите хорошую книгу, ПРОЧИТАЙТЕ ДОКУМЕНТАЦИЮ.
C / C ++ - добро пожаловать в мир управляемой памяти. Избавьтесь от подхода со сборкой мусора. СЕЙЧАС. Избавьтесь от указателей (которыми можно манипулировать) и не сука насчет этого - чем быстрее вы освоитесь с этой средой, тем быстрее вы почувствуете себя хорошо;)
Стоит ли мне интересоваться предыдущими версиями?
Да. Вы должны хотя бы знать, каких функций 4.0 более старая версия НЕ имеет.
Есть хороший шанс, что если вы используете .NET в работе, они еще не дойдут до 4.0. Следовательно, вам нужно будет знать, какие функции вы можете использовать, а какие придется обходить.
Какие советы вы даете новичку, чтобы быстро изучить C #?
Найдите хорошую книгу и начните с самого начала.
Я бы порекомендовал либо Pro C # 2010 и платформу .NET 4.0 , либо C # подробно: второе издание
Какие факторы следует учитывать при переходе с c, c ++ на c # ?
Знать правила именования и различия каждого из них.
C / C ++ компилируется в собственный код. C # получает JIT-компиляцию.
В C # есть управление памятью. C / C ++ - нет (по крайней мере, не то же самое).
C не является объектно-ориентированным языком. C ++ / C # есть, но каждый из них обрабатывает объектно-ориентированный подход немного по-своему.
Подобные различия изменят то, как вы пишете / думаете о своем коде.
Мне нужны предыдущие версии ?
Да, следует. Я бы рекомендовал начать с 2.0, которая является основой для всех будущих версий, а затем постепенно изучать версии 3.0, 3.5 и недавно выпущенные версии 4.0.
Какие советы вы даете для { {1}} новичок в изучении C #?
Как и для большинства языков, лучший совет - использовать его . Начните кодировать несколько небольших приложений, чтобы попробовать и воспользоваться преимуществами ge общих языковых функций, а затем переходите к изучению различных областей фреймворка, которые вас интересуют.