Strong-stuff.ru

Образование Онлайн
1 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Си шарп онлайн обучение

Уроки C#

Уроки C# (C sharp) | #1 — Что такое C# и зачем он нужен?

Видеоурок

Информация про C#

Благодаря незаурядной мощности языка, на него пал выбор разработчиков движка Unity . Сегодня является одним из топовых движков для игр на Windows. Выпуск и активное использование движка пошли на руку C#, который стал ещё популярнее.

После базового изучения принципов работы с языком и его синтаксисом, можно сразу перейти к углублённому изучению библиотек и смежных технологий. Большинство современных проектов пишутся с их привлечением, на чистом C# работают редко.

Если сравнить С# с прочими языками, его можно назвать довольно молодым, хотя за плечами уже пройден немалый путь. Впервые полноценная версия языка появилось после выхода Microsoft Visual Studio .NET, событие датируется февралём 2002 года. На сегодня актуальная версия — C# 7.0, выпущенная 7.03.2017 параллельно с Visual Studio 2017.

В C# используется синтаксис, сильно напоминающий Си и приближённый к С++ , Java . Если есть познания в одном из перечисленных языков, изучить C# станет значительно легче.

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

Какова роль .NET?

Если речь заходит о C#, часто подразумеваются технологии, связанные с платформой .NET (WPF, ASP.NET). То же самое справедливо в обратном направлении, говоря про .NET, думают про C#. Безусловно, понятия имеют жёсткую взаимосвязь, но не являются синонимами. C# — это язык, созданный для взаимодействия с фреймворком .NET. Тем не менее .NET – это довольно широкое понятие.

Сейчас вспоминаются слова Билла Гейтса, не дословно, но смысл таков: «Платформа .NET – лучшее творение Microsoft». Может так и есть, ведь фреймворк очень мощный и постоянно используется в разработке приложений.

Ключевые черты платформы:

  • Работает параллельно с разными языками. Популярностью С# во многом обязан общеязыковой среде CLR. Сейчас платформа способна работать с С#, VB.NET, C++, F#, но и на этом список не заканчивается, ведь она работает с диалектами, что привязаны к .NET (наподобие Delphi.NET). После компиляции кода с любого из перечисленных языков, вся интерпретируется в общий язык CIL – это своеобразный ассемблер для .NET. Такой подход позволяет использовать несколько языков для создания подключаемых модулей программы;
  • Кроссплатформенность. Данную платформу реально переносить, хоть и есть отдельные ограничения. Сегодня актуальная версия фреймворка работает на всех поддерживаемых Виндовс: от Windows Vista до «десятки». За счёт проекта Mono появилась возможность разрабатывать программы под Linux (различные дистрибутивы), Android и iOS;
  • Обширная библиотека классов. .NET Framework обладает единой, унифицированной библиотекой классов, с которой работают все поддерживаемые языки. Библиотека классов пригодится при создании любых программ: от блокнота до огромного веб-сайта;
  • Масса встроенных технологий. Среда CLR в сочетании с библиотекой классов – это основа для большого пакета вспомогательных технологий. Их могут использовать все программисты во время разработки приложений. В качестве примера, при взаимодействии с базами данных можно использовать технологию ADO.NET. Во время создания графических редакторов с многочисленными функциями удобно использовать WPF. Во время веб-разработки наверняка используют ASP.NET.

Стоит упомянуть об одной особенности фреймворка и языка – автоматическая очистка хлама в памяти. Таким образом отпадает необходимость вспоминать, и вручную задавать код для высвобождения занятой памяти. Среда CLR без дополнительных команд позаботится о сборе мусора и его удалении.

Управляемый и неуправляемый код

Некоторые читатели уже слышали, когда о приложении, построенном на С#, говорят – управляемый код. Какой смысл этого выражения? Это означает, что программа базируется на .NET и поддерживает управление общеязыковой средой CLR. Вы же помните, как CLR самостоятельно очищает память. Существуют и другие приложения, разрабатываемые на C++, они не преображаются в унифицированный CIL-язык (свойственный для С#, VB.NET). На выходе – это стандартный машинный код. Таким приложением .NET не может управлять.

При этом платформа .NET позаботилась о том, чтобы была возможность работать даже с неуправляемым кодом. Помимо обычных классов, предоставляемых библиотекой .NET, есть возможность применять сборки COM.

Читать еще:  Фотошоп онлайн обучение бесплатно

JIT-компиляция

Исходный код C# компилируется в программы или отдельные сборки на CIL с расширениями dll, exe. В процессе запуска готового приложения выполняется JIT-компиляция – это сокращение от Just-In-Time (Просто сейчас). На выходе получается машинный код, который передаётся на исполнение.

Важным достоинством приложения является возможность компиляции только нужных в данный момент частей программы. Если приложение не обращается к какой-то части кода, его компиляция не происходит. В момент обращения выполняется моментальная компиляция из CIL в машинный код.

Все скомпилированные блоки не удаляются, они хранятся до прекращения работы с программой. Это помогает сократить затраты системных ресурсов на повторную компиляцию.

Это все базовые знания, которые нужно иметь в отношении платформы .NET

План курса

За курс вы изучите язык программирования C#. Вами будут изучены все основные конструкции: переменные, циклы, условные операторы, а также более углубленные концепции: ООП, отслеживание ошибок, работа с файлами и многое другое.

Дополнительные курсы

На нашем сайте вы можете найти дополнительные курсы по языку C#. Все курсы представлены на этой странице .

С# для новичков: развеиваем мифы и пишем простого чат-бота

Рассказываем о С#, даём полезные советы и делаем первые шаги в программировании.

Что такое С#

С# (произносится «си шарп») — это современный язык программирования, созданный компанией Microsoft. На нём можно писать программы любой сложности для любых платформ и операционных систем.

C# устроен так, чтобы программист мог писать меньше кода. Для этого в языке много «магических конструкций» и «синтаксического сахара» — способов выразить идею лаконично.

Это кроссплатформенный язык, то есть ваша программа будет работать не только в той операционной системе, в которой она написана, но и в других.

Мария Грегуш

В бэкграунде — программирование, французский язык, академическое рисование, капоэйра. Сейчас учит финский. Любит путешествия и Балтийское море.

Мифы о работе в С#

C# может казаться страшным и сложным, но на самом деле его совсем не стоит бояться. Давайте посмотрим на главные мифы о нём.

  1. Чтобы стать C#-разработчиком, надо учиться долгие годы. Это очень популярный миф, но на самом деле достаточно нескольких месяцев, и вы уже можете работать junior-разработчиком .
  2. Чтобы быть C#-разработчиком, надо разбираться в высшей математике. Это стереотип не только о конкретном языке, но и о программировании в целом. В реальности программисты 99% времени не используют математику — за исключением некоторых областей, прямо с ней связанных. Если вы делаете веб-сайты, создаете мобильные приложения, видеоигры — математика вам не понадобится.
  3. C# — это что-то сверхсложное. Как мы уже сказали, этот язык создавался так, чтобы в нём было удобно работать. Поэтому любой хорошо написанный код читается и понимается так же легко, как текст на английском языке.

Стартовая позиция в программировании. Специалист, который имеет небольшой опыт работы с каким-то языком и выполняет простую работу с перспективой роста.

Почему же стоит учить C#

  • Этот язык популярен и быстро развивается.
  • Разработчики C# востребованы.
  • С ним удобно работать, легко читать код.
  • C# и связанные с ним технологии можно освоить за несколько месяцев.

Что разрабатывают на С#

  • Десктопные приложения.
  • Серверные приложения и веб-сайты.
  • Мобильные приложения.
  • Консольные приложения и утилиты.
  • Универсальные приложения для десктопов, планшетов, смартфонов.

Этот язык создавался специально для разработки под Windows, так что с программами под эту операционную систему у вас не будет проблем. Это касается и Windows Phone, для которого C# — основной язык разработки. Но это не значит, что вы можете писать только для Windows, — C# замечательно работает и с другими операционными системами.

Как эффективнее работать с C#

Для эффективной работы полезно знать о дополнительных инструментах. Вот некоторые из них:

  1. WPF(Windows Presentation Foundation) поможет легко и быстро создать интерфейс для любых экранов, уменьшает количество кода, отображающего интерфейс.
  2. Xamarin — фреймворк для разработки кроссплатформенных приложений для Windows Phone, Android и iOS. То есть вы напишете один код, и он сразу будет работать на всех основных платформах.
  3. ASP.NET помогает просто и быстро связать серверный код с клиентским в серверных приложениях и веб-разработке.
  4. Entity Framework — один из лучших фреймворков для работы с базами данных. Позволяет работать с данными как с объектами.
  5. LINQ(Language Integrated Query) — мини-язык запросов, встроенный в C# и позволяющий легко выбирать, фильтровать, сортировать и группировать любые данные из любых источников: баз данных, массивов, структур, файлов и так далее.
  6. Visual Studio — среда разработки, созданная специально для языка C#.
Читать еще:  Онлайн обучение маникюру бесплатно гель лаком

Писать код в среде разработки удобно. У неё много плюсов, например:

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

Пишем чат-бота

Теперь пора перейти к практике. Сегодня мы будем работать в онлайн-среде ideone. Серьезные программы в онлайн-средах не пишутся, но для обучения и практики это самое то!

Итак, откроем сайт ideone. Слева будет окошко для кода. Возможно, что по умолчанию там будет выбран другой язык — тогда просто нажмите на его название и выберите C#.

Самые первые слова любого программиста — «Привет, мир!» (Hello, World!), поэтому и мы начнём с них. Хотя не совсем: мы позволили себе заменить «мир» на «Скиллбокс» 😉 Чтобы отобразить наше сообщение, используем команду Console.WriteLine (). Свой текст напишем в скобках и не забудем поставить кавычки. Вот так:

Чтобы запустить свой код и протестировать, работает ли он, нажмём зелёную кнопку RUN в углу.

Чтобы общаться с нашим будущим чат-ботом, нам надо научить его читать — то есть сделать так, чтобы мы могли задавать информацию, с которой он будет работать. Для этого мы используем команду Console.ReadLine (). Она прочитает текст, который написал пользователь.

Давайте уже напишем начало: пусть чат-бот здоровается, а потом читает наше сообщение:

Прочитать-то он прочитает, но память у бота короткая — надо, чтобы он это сообщение запомнил. Для этого сохраним его в переменную — назовём её, например, text. Вместо Console.ReadLine () напишем вот так:

Пусть бот уточняет, что именно мы ему сказали, — вдруг мы забудем. Сделаем мы это той же командой Console.WriteLine (), только в этот раз мы не знаем заранее, что надо будет написать, поэтому используем переменную. Чтобы вставить переменную в текст, обозначим её фигурными скобками, а перед кавычками напишем знак доллара, вот так:

Важно!
Не забывайте ставить точку с запятой в конце каждой строчки!

Чтобы задать свой input, запустите программу, а потом нажмите кнопку edit слева вверху над кодом.

Снизу откроется окошко с надписью input над ним. То, что вы там напишете, программа использует при следующем запуске.

Сейчас наш чат-бот умеет здороваться и может повторить, что мы ему написали. Давайте научим его реагировать на то, что мы пишем. Для этого нам понадобится конструкция if — она проверяет, соблюдено ли условие, и решает, что делать дальше. На новой строке напишем if и в круглых скобках напишем условие. Пусть в ответ на «Привет» бот отвечает «Здарова!». Мы можем написать вот так:

У нашего решения есть несколько проблем. Первая: если мы напишем весь свой текст маленькими или большими буквами, программа его не опознает. Что с этим делать? Добавим команду ToLower (), которая заменит все буквы на маленькие, и текст, с которым мы сравниваем сообщение пользователя, тоже перепишем маленькими буквами, вот так:

А что, если мы напишем «Привет, как дела?»? Наш бот никак не отреагирует. Чтобы это исправить, используем функцию Contains (), которая проверит, есть ли нужная строка в нашем вводе.

Можем разнообразить словарный запас нашего бота, добавив ещё условий:

Теперь, если мы напишем «Привет! Как тебя зовут? Как дела?», наш бот напишет ответ на все фразы по очереди.

Важно!
Если бы вы писали более сложного «настоящего» бота или другую программу, вы бы не копировали один и тот же код много раз, а использовали файл, базу данных или что-то другое. Когда одна и та же часть повторяется много раз, код неудобно читать и тяжело исправлять.

А что, если мы хотим получать не только такие ответы, но и меняющуюся информацию? Например, нам интересно, какой сегодня день. Если бы мы написали сегодняшнюю дату в такую же конструкцию, как выше, то или нам пришлось бы переписывать код каждый день, или наша программа сразу бы устарела. Нам поможет функция DateTime. Спросим у неё, какая сейчас (Now) дата, переведём это в строку нужного формата (ToString («dd.MM.yyyy»)) и всё это сохраним в переменную date. Вот так это выглядит:

Читать еще:  Онлайн база данных бесплатно

И напоследок ещё одна важная тема.

Конструкция if часто идет в паре с else. Else описывает, что сделать в том случае, если условие из if не выполнится.

Используется else после if — но мы уже не пишем условие, а только действие в фигурных скобках. Вот пример этой конструкции:

Теперь, если мы напишем сообщение боту без слова «привет», он обидится и будет ругаться.

Для первого раза всё! Это были основы основ C#. Вы уже знаете, как отобразить текст (и не только), работать с информацией от пользователя, искать в тексте фразы, и попробовали работать с конструкцией if-else, которая очень важна. Из этих «кирпичиков» можно смело начинать строить!

Если же вас интересует более глубокое погружение в C# и вы хотите научиться работать с этим языком уверенно и профессионально, можно записаться на наш курс «Профессия C#-разработчик».

Курс

Профессия С#-разработчик

130 часов — и вы научитесь писать программы на языке, созданном Microsoft. Вы создадите 5 проектов для портфолио, даже если до этого никогда не программировали. После обучения — гарантированное трудоустройство.

Программирование на C#

  • 14 недель

4 зачётных единицы

для зачета в своем вузе

О курсе

Курс позволяет студентам овладеть основными знаниями и навыками, необходимыми для разработки приложений C# для Microsoft .NET Framework 4.0, а также синтаксисом простых конструкций языка C#.
На данном курсе рассматриваются принципы, позволяющие использовать специфику языка C# как объектно-ориентированного языка.

Формат

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

Информационные ресурсы

Требования

Рассчитан на людей с минимальным опытом программирования.
Для прохождения курса требуется компилятор C#: Microsoft Visual Studio C# 2013 (скачать Visual Studio Express можно здесь).

Программа курса

1. Первое знакомство с C#
Первое знакомство с C#. Типы данных. Методы. Области видимости
2. Ошибки
Ошибки компиляции. Стилистические ошибки
3. Ветвления
Логический тип bool. Оператор if-else. Типичные ошибки ветвлений
4. Циклы
Цикл while. Цикл for
5. Массивы
Одномерные массивы. Сокращенный синтаксис. Типы ссылки и типы значения. Многомерные массивы
6. Коллекции, строки, файлы
Список List. Словарь Dictionary. Строки. Файлы и каталоги
7. Тестирование
Введение в тестирование. Модульные тесты. Продвинутые техники. Внедрение тестирования
8. Сложность алгоритмов
Основные понятия. О-символика. Оценка сложности алгоритмов
9. Рекурсивные алгоритмы
Рекурсия. Перебор подмножеств. Перебор перестановок и размещений
10. Поиск и сортировка
Линейный и бинарный поиск. Сортировка пузырьком. Сортировка слиянием и быстрая сортировка
11. Основы ООП
Классы и объекты. Поля. Методы. Статистические классы
12. Наследование
Наследование. Приведение типов. Интерфейсы. Полиморфизм
13. Целостность данных
Целостность данных. Свойства. Конструкторы
14. Структуры
Структуры. Ключевое слово ref. Boxing/unboxing. Структуры и свойства

Результаты обучения

Студент узнает:
• синтаксис и особенности языка C#;
• основы написания программ на языке C#;
• техники создания «чистого» кода;
Студент сможет:
• применять техники объектно-ориентированного проектирования программного обеспечения;
• эффективно использовать интегрированную среду разработки MicrosoftVisualStudio 2010 для написания, отладки и тестирования программ на языке C#;
• использовать ReSharper в разработке программ любого уровня;
Студент будет владеть:
• навыками написания эффективного, легко читаемого и поддерживаемого программного кода;
• техникой рефакторинга.

Формируемые компетенции

— способность общаться со специалистами из других областей (ОК-2);
— способность порождать новые идеи (ОК-5);
— способностью работать самостоятельно, заботой о качестве, стремлением к успеху (ОК-6);
— владение методами математического моделирования при анализе глобальных проблем на основе глубоких знаний фундаментальных математических дисциплин и компьютерных наук (ПК-1);
— способность к интенсивной научно-исследовательской и научно-изыскательской деятельности (ПК-3);
— умение ориентироваться в современных алгоритмах компьютерной математики, совершенствовать, углублять и развивать математическую теорию, лежащую в их основе (ПК-7);
— способность к творческому применению, развитию и реализации математически сложных алгоритмов в современных программных комплексах (ПК-9);
— определение общих форм, закономерностей, инструментальных средств для групп дисциплин (ПК-10);
— способность к управлению и руководству научной работой коллективов (ПК-13).

Ссылка на основную публикацию
Adblock
detector