- •1.Технология .Net Framework
- •6. В чем отличие платформы . Net от стандартного подхода к разработке программ.
- •7. Алфавит и лексемы языка программирования с#.
- •8. Типы данных в .Net Framework.
- •9. Переменные типа ссылки. Пример использования.
- •10. Инициализация переменных, констант. Специальные символы при инициализации строк.
- •11. Область видимости переменных.
- •12. Именование переменных.
- •14. Явное и неявное преобразование типов данных.
- •15. Ввод с клавиатуры. Преобразование строк в числа.
- •16. Перечислимые типы.
- •17. Структуры.
- •18.Структура if.
- •19. Структура switch.
- •20. Цикл while.
- •21. Оператор do.
- •22. Оператор for.
- •23. Оператор foreach.
- •24.Оператор goto.
- •25. Операторы break и continue.
- •26. Понятие исключения.
- •27. Перехват исключений.
- •28. Бросание исключений.
- •29. Определение массива. Объявление, инициализация.
- •30. Доступ к элементам массива.
- •31.Основные свойства и методы массивов.
- •32.Коллекции. Их виды.
- •33. Методы в с#
- •34. Вызов метода
- •35. Возврат из метода. Возврат значений из метода.
- •36. Параметры методов. Передача параметров по значению. Передача параметров по ссылке.
- •37. Понятие ооп. Классы и объекты
- •38. Основные три принципа ооп.
- •39. Понятие конструктора. Параметры конструктора
- •40. Понятие деструктора.
- •41. Управление памятью. Алгоритм работы Garbage Collector.
- •42 Управление доступом к элементам сущности.
- •43 Интерфейсы. Правила использования интерфейсов.
- •44 Абстрактные классы
- •45. Класс Random. Основные методы класса System.Random.
- •46 Математические функции – класс Math. Основные методы класса System.Math.
- •47 Пространства имен. Использование пространства имен.
- •48 Операции над строками. Основные элементы класса System.String.
- •49 Работа с символами в с#. Основные методы класса System.Char.
- •50. Классы .Net для работы с файлами. Основные классы пространства имен System.Io.
- •51. Структыры
- •52. Перечисления
- •53. Основные понятия ооп.
- •54. Конструкторы. Параметр this. Ключевое слово this.
- •55. Интерфейсы. Правила использования.
- •56. Семейства и индексаторы. Интерфейсы для работы с семействами.
- •57.Делегаты. Операции с делегатами. Использование делегатов.
- •58. Сборки и библиотеки. Атрибуты, директивы сборки.
1.Технология .Net Framework
C# - это новый язык программирования от компании Microsoft. Он входит в новую версию Visual Studio - Visual Studio.NET. Кроме C# в Visual Studio.NET входят Visual Basic.NET и Visual C++. Одна из причин разработки нового языка компанией Microsoft - это создание компонентно-ориентированного языка для новой платформы .NET. Другие языки были созданы до появления платформы .NET, язык же C# создавался специально под эту платформу и не несет с собой груза совместимости с предыдущими версиями языков. Хотя это не означает, что для новой платформы это единственный язык.
Еще одна из причин разработки компанией Microsoft нового языка программирования - это создание альтернативы языку Java. Платформа .NET Framework состоит из двух основных компонентов: среды CLR и библиотеки классов .NET Framework. Среда CLR — это фундамент платформы .NET Framework. Это своеобразный агент, управляющий кодом во время его выполнения, предоставляющий ключевые службы, связанные с такими процессами, как управление памятью, потоками и удаленными операциями, а также обеспечивающий безопасность типов и другими способами контролирующий правильность кода, гарантируя безопасность и стабильность приложений. Понятие управления кодом является для среды основополагающим. Код, созданный для среды, называется управляемым. Любой другой код называется неуправляемым кодом. Библиотека классов, второй основной компонент платформы .NET Framework, является обширным объектно-ориентированным набором типов, которые можно использовать для разработки самых различных приложений — от классических приложений с интерфейсом командной строки или графическим интерфейсом пользователя до новейших приложений
2. Схема выполнения программы в .NET.
3. Основные утилиты .NET Framework
1.Mscordmp.exe
Common Language Runtime Minidump предназначена для создания файла с информацией о состоянии системы. Используется утилитой Dr. Watson для представления информации пользователю в случае аварийного завершения программы.
2. Lc.exe
License Compiler предназначена для создания файла лицензий на основе текстового файла, представляемого разработчиком.
3. Mgmtclassgen.exe
Management Strongly Typed Class Generator создает класс, который позволяет получать доступ к классам Windows Management Instrumentation (WMI), тем самым упрощая работу с WMI.
4. Ilasm.exe
MSIL Assembler позволяет создавать PE (portable executable) файл, который содержит все интрукции MSIL и все необходимые метаданные.
5. ildasm.exe
MSIL Disassembler на основе PE-файла позволяет создать текстовый файл, который был получен ассемблером (llasm.exe).
6. Resgen.exe
Resource File Generator Tool позволяет создавать из текстовых файлов ресурсов бинарный файл, который используется приложением во время выполнения.
7. Aximp.exe
Windows Forms ActiveX Control Importer позволяет конвертировать типы, определенные в COM-библиотеках, для использования их в Windows Forms-элементах управления.
8. Wincv.exe
Windows Forms Class Viewer позволяет получить информацию о классах по заданному критерию поиска.
9. Winres.exe
Windows Forms Resource Editor позволяет быстро провести локализацию для вашего ресурса (если ресурс ее поддерживает).
4. Утилиты .NET Framework по работе с защитой приложений.
1. Makecert.exe
Certificate Creation Tool утилита предназначена для создания X.509-сертификатов, но только с целью тестирования.
2. Certmgr.exe
Certificate Manager Tool позволяет управлять списком сертификатов.
3. Makecert.exe
Certificate Creation Tool утилита предназначена для создания X.509-сертификатов, но только с целью тестирования.
4. Caspol.exe
Code Access Security Policy Tool позволяет просматривать и устанавливать правила безопасности.
5. Signcode.exe
File Signing Tool позволяет подписать PE-файл цифровой подписью.
6. Permview.exe
Permissions View Tool позволяет просматривать уровни безопасности для сборки.
7. Peverify.exe
PEVerify Tool проверяет метаданные в указанной сборке.
8. Secutil.exe
Secutil Tool извлекает общий ключ со строгим именем из сборки.
9. Setreg.exe
Set Registry Tool позволяют изменять состояние ключей в реестре, отвественных за поведением сертификатов.
10. Cert2spc.exe
Software Publisher Certificate test Tool создает Software Publisher's Certificate (SPC) из одного или более X.509-сертификатов. Эта утилита предназначена только для тестирования.
11. Sn.exe
Strong Name Tool позволяет создавать сборки со строгими именами.
5. Структура платформы .NET.
CLI – Common Language Interface – общая языковая структура
CTS – Common type system – общая система типов.
CLI это открытая спецификация разработанная фирмой Microsoft которая описывает код исполнительной программы и среду выполнения. Спецификация подразумевает среду разрешающую нескольким языкам высокого уровня быть использованными на разных компьютерных платформах без переписи под специфику архитектур.
Внесу ясность: CLI это спецификация, а не реализация, также CLI часто путают с CLR, которая содержит аспекты вне спецификации.
Спецификация CLI состоит из 4 аспектов:
Common Type System (CTS) - Набор типов и операций которые используются во многих языках программирования.
Metadata - Информация о структуре программы является независимой от языка, потому вы можете использовать программу в разных языках.
Common Language Specification (CLS) - Набор базовых правил, которые язык программирования CLI должен соблюдать, что-бы общаться с другими CLS языками.
Virtual Execution System (VES) - Загружает и выполняет CLI-совместимые программы, используя метаданные чтобы совместить сгенерированные куски кода во время исполнения.
Все совместимые языки компилируются в Common Intermediate Language (CIL), который является промежуточным языком который абстрагирован от платформы и железа. Когда код будет запущен, платформено зависимый VES скомпилирует CIL в машинный код под специфичное железо.
Common Type System (сокр. CTS, рус. Стандартная система типов) — часть .NET Framework, формальная спецификация, определяющая, как какой-либо тип (класс, интерфейс, структура, встроенный тип данных) должен быть определён для его правильного выполнения средой .NET.