KFORS.ORG Четверг, 21.09.2017, 04:19
Приветствую Вас Гость | RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Форум » Студенческий » Уроки программирования » C# программирование
C# программирование
kforsДата: Понедельник, 18.11.2013, 23:52 | Сообщение # 1
Генералиссимус
Группа: Администраторы
Сообщений: 87
Награды: 0
Репутация: 101
Статус: Offline
Введение в C Sharp и .Net

C# (произносится Си-Шарп) - это новый язык программирования от компании Microsoft. Он входит в новую версию Visual Studio - Visual Studio.NET. Кроме C# в Visual Studio.NET входят Visual Basic.NET и Visual C++.
Одна из причин разработки нового языка компанией Microsoft - это создание компонентно-ориентированного языка для новой платформы .NET. Другие языки были созданы до появления платформы .NET, язык же C# создавался специально под эту платформу и не несет с собой груза совместимости с предыдущими версиями языков. Хотя это не означает, что для новой платформы это единственный язык.
Еще одна из причин разработки компанией Microsoft нового языка программирования - это создание альтернативы языку Java. Как известно, реализация Java у Microsoft не была лицензионно чистой - Microsoft в присущей ей манере внесла в свою реализацию много чего от себя. Компания Sun, владелица Java, подала на Microsoft в суд, и Microsoft этот суд проиграла. Тогда Microsoft решила вообще отказаться от Java, и создать свой Java-подобный язык, который и получил название C#.

Если перевести слова NET Runtime на русский язык, то мы получим что-то вроде «Среда выполнения». Именно вы этой среде и выполняется код, получаемый в результате компиляции программы написанной на C#. NET Runtime основын не на ассемблере (т. е. не на коде, родном для процессора), а на некотором промежуточном коде. Отдаленно он напоминает виртуальную Java машину. Только если в случае Java у нас был только один язык для виртуальной машины, то для NET Runtime таких языков может быть несколько. Теоретически программа для среды NET Runtime может выполняться под любой операционной системой, в которой NET Runtime установлена. Но на практике пока единственная платформа для этого - это Windows.

Основные понятия

Assembly (Сборка) – базовый строительный блок приложения в .NET Framework. Управляемые модули объединяются в сборки. Сборка является логической группировкой одного или нескольких управляемых модулей или файлов ресурсов. Управляемые модули в составе сборок исполняются в Среде Времени Выполнения (CLR). Сборка может быть либо исполняемым приложением (при этом она размещается в файле с расширением .exe), либо библиотечным модулем (в файле с расширением .dll). При этом ничего общего с обычными (старого образца!) исполняемыми приложениями и библиотечными модулями сборка не имеет.
Managed Code (Управляемый код) – это код, который выполняется в среде CLR. Код строится на основе объявляемых в исходном модуле структур и классов, содержащих объявления методов. Управляемому коду должен соответствовать определенный уровень информации (метаданных) для среды выполнения. Код C#, Visual Basic, и JScript является управляемым по умолчанию. Код Visual C++ не является управляемым по умолчанию, но компилятор может создавать управляемый код, для этого нужно указать аргумент в командной строке(/CLR). Одной из особенностей управляемого кода является наличие механизмов, которые позволяют работать с управляемыми данными.
Managed Data (Управляемые данные) – объекты, которые в ходе выполнения кода модуля размещаются в управляемой памяти (в управляемой куче) и уничтожаются сборщиком мусора CLR. Данные C#, Visual Basic и JScript .NET являются управляемыми по умолчанию. Данные C# также могут быть помечены как неуправляемые.
GAC (Global Assembly Cache – Общий КЭШ сборок). Для выполнения .NET-приложения достаточно разместить относящиеся к данному приложению сборки в одном каталоге. Если при этом сборка может быть использована в нескольких приложениях, то она размещается и регистрируется с помощью специальной утилиты в GAC.
CTS – Common Type System (Общая Система Типов). Поддерживается всеми языками платформы. В силу того, что .NET основана на парадигме ООП, речь здесь идет об элементарных типах, классах, структурах, интерфейсах, делегатах и перечислениях. Common Type System является важной частью среды выполнения, определяет структуру синтаксических конструкций, способы объявления, использования и применения общих типов среды выполнения. В CTS сосредоточена основная информация о системе общих предопределенных типов, об их использовании и управлении (правилах преобразования значений). CTS играет важную роль в деле интеграции разноязыких управляемых приложений.
Namespace - Пространство имен – это способ организации системы типов в единую группу. В рамках .NET существует единая (общеязыковая) библиотека базовых классов. Концепция пространства имен обеспечивает эффективную организацию и навигацию по этой библиотеке. Вне зависимости от языка программирования, доступ к определенным классам обеспечивается за счет их группировки в рамках общих пространств имен.

NET Runtime состоит из нескольких частей. Одна из них - это Common Language Runtime. Это, говоря кратко, это некоторый набор стандартов, котрые должны поддерживать все языки платформы .NET. Например, в предыдущих версиях Visual Studio была такая проблема, что разные языки по разному хранили данные одного по идее типа. Так, скажем, тип целого в Visual Basic'е занимал два байта, а в Visual C++ - четыре. А это порождало кучу проблем при совместном использовании языков. Так вот, Common Language Runtime как раз в частности и определяет стандартные для все языков .NET типы данных. И уже есть гарантии, что целый тип в одном языке будет в точности соответствовать одноименному типу в другом.
Структура среды выполнения CLR (основные функциональные элементы среды) представлена на рисунке.
Строгий контроль типов, в частности, предполагает проверку соответствия типа объекта диапазону значений, которые могут быть присвоены данному объекту.
Защита .NET (безопасность) строится поверх системы защиты операционной системы компьютера. Она не дает пользователю или коду делать то, что делать не позволено, и накладывает ограничения на выполнение кода. Например, можно запретить доступ некоторым секциям кода к определенным файлам.
Функциональные блоки CLR Code Manager и Garbage Collector работают совместно: Code Manager обеспечивает размещение объектов в управляемой памяти, Garbage Collector – освобождает управляемую память.
Exception Manager включает следующие компоненты:

finally handler (обеспечивает передачу управления в блок finally);
fault handler (включается при возникновении исключения);
type-filtered handler (обеспечивает выполнение кода соответствующего блока обработки исключения);
user-filtered handler (выбор альтернативного блока исключения).

Ниже представлена схема выполнения .NET-приложения в среде CLR.

Еще одна важная часть NET Runtime - это набор базовых классов. Их очень много (порядка несколько тысяч). Кроме того, эти классы относятся не к конкретному языку, а к NET Runtime. Т. е. мы получаем набор классов, общий для всех языков .NET, что достаточно удобно.
На данный момент последняя версия Visual Studio.NET 2008.
Все уроки будут выполнятся в среде Microsoft Visual Studio, но это не значит что нельзя будет использовать какую либо другую из известных сред. Если у Вас нет среды VS.NET, с сайта производителя можно скачать бесплатную редакцию среды разработки.

http://simple-cs.ru

 
Форум » Студенческий » Уроки программирования » C# программирование
Страница 1 из 11
Поиск:
Сегодня нас посетили
Статистика Форума
Последние обновленные темы Самые популярные темы Лучшие пользователи Новые пользователи
  • Чертежи (1)
  • Обеспечение качества разработки программного обеспечения (1)
  • электротехника и электроника и схемотехника (1)
  • Ответы на тесты Концепции современного естествознания (2)
  • Чертежи на заказ ВСЕМ/Скидки, акции по снижению цены! ЖМИ! (0)
  • Экономика (12)
  • Бегущая строка (2)
  • Вещи и транспорт подразделения (2)
  • Witcher 3: Wild Hunt/Ведьмак 3: Дикая Охота - ЧИТЫ (0)
  • ОКАЖУ ПОМОЩЬ ПО НАПИСАНИЮ АВТОРСКИХ УЧЕБНЫХ РАБОТ (0)
  • Экономика (12)
  • АНЕКДОТЫ (7)
  • Управление проектами (6)
  • Поможем защитить диплом/диссертацию (2)
  • Ответы на тесты Концепции современного естествознания (2)
  • Обсуждение кланки (2)
  • Бегущая строка (2)
  • Вещи и транспорт подразделения (2)
  • Чертежи (1)
  • Обеспечение качества разработки программного обеспечения (1)
  • kfors
  • Белый
  • maryankakmm
  • 44i55
  • senobit
  • Onlines
  • kbapo4ta
  • smolickowar
  • startsmart
  • brelena
  • antohakiseliov
  • ekaterinafomina1999
  • Demi9821
  • Demi
  • anna09
  • zarlev
  • tempo-cad
  • smolickowar
  • angelzzzvvv45
  • zuxra


  • Яндекс цитирования Яндекс.Метрика Анализ веб сайтов
    Free counters!




    Copyright MyCorp © 2017Используются технологии uCoz