Курс. NET
Обратная связь • Группа в контакте – Симбирсофт_Шарп_2013 • Шамшев Алексей • Орг. вопросы
Что такое программирование и как выбрать язык? • • Движение open source Промышленная составляющая Доступная литература Область применения Понимание бизнес-процессов Самообразование Решение за деньги заказчиков их проблем, со всеми вытекающими.
Кто знает программирование? • Никто в мире не знает программирования.
Хорошие книги Учебный курс Microsoft. Основы разработки приложений на платформе Microsoft. NET Framework. MCTS Экзамен 70 -536
Хорошие книги • Компиляторы: принципы, технологии и инструменты • Альфред Ахо, Моника С. Лам, Рави Сети, Джеффри Ульман
Хорошие книги • Современные методы описания функциональных требований к системам • Автор: Алистер Коберн
Комментарии • Однострочные • Многострочные • документирующие
Имена, строки • • • Правила именования Области видимости переменных @ в именах переменных Спецсимволы @ перед строками
Неявное преобразование типов int i. Value = 123; long l. Value = i. Value; • Implicit conversions cannot fail – Можно потерять данные Явное преобразование типов int i. Value = 123; long l. Value = (long)i. Value; • Explicit conversions • Если что, выкинет исключение
Операторы • • Циклы for, while, do while, foreach If switch Операторы прерывания – break, continue yield return – позже
массивы • Объявление массивов • Добавление аргументов командной строки при запуске приложения
Проверка диапазона массива • Все операции индексации проверяются – Если что – выкидывается исключение Index. Out. Of. Range. Exception – Использовать свойство Length или метод Get. Length row. Get. Length(0)==6 grid. Get. Length(0)==2 grid. Get. Length(1)==4 row. Length==6 grid. Length==2*4
Инициализация многомерных массивов int[, ] grid = { {5, 4, 3}, {2, 1, 0} }; int[, ] grid = { {5, 4, 3}, {2, 1 } }; Implicitly a new int[2, 3] array grid 5 4 3 2 1 0
Свойства массивов long[ ] row = new long[4]; 0 0 row. Rank 1 row. Length 4 row int[, ] grid = new int[2, 3]; grid 0 0 0 grid. Rank 2 grid. Length 6
Методы массивов • Commonly used methods – Sort – sorts the elements in an array of rank 1 – Clear – sets a range of elements to zero or null – Clone – creates a copy of the array – Get. Length – returns the length of a given dimension – Index. Of – returns the index of the first occurrence of a value
Исключения • Try catch • throw • Ловля множества типов исключений и разных реакций на них Exception System. Exception Out. Of. Memory. Exception IOException Null. Reference. Exception Application. Exception
Перечисления • Объявление перечислений • Формально enum но может содержать методов. • Не формально – можно сделать
Фича, которую можно было применить в тестовом задании • Оператор yield – используется при генерации последовательности • При чтении строк из файла надо открыть поток, открыть Reader, считывать из него, все закрыть • Хочется счастья в виде инкапсуляции всего этого, но с сохранением ограничения на не загрузку всех данных в память • get. File. Content
Пользовательские типы • Условная компиляция • Запуск тестов с условной компиляцией • Создание новых конфигураций
Классы • • Аксесоры доступа Принципы ООП Создание экземпляров классов Ключевое слово this
Методы • Объявление методов • Вызов методов • Ref и out параметры. Ссылочные и не ссылочные типы. Переменное количество аргументов • Использование Tuple • Использование yield