4627

Введение в C Sharp и Net

Контрольная

Информатика, кибернетика и программирование

Введение в C Sharp и Net C# (произносится Си-Шарп) - это новый язык программирования от компании Microsoft. Он входит в новую версию VisualStudio - VisualStudio.NET. Кроме C# в VisualStudio.NET входят VisualBasic NET и Visua...

Русский

2012-11-23

273.5 KB

22 чел.

Введение в C Sharp и .Net

C# (произносится Си-Шарп) - это новый язык программирования от компании Microsoft. Он входит в новую версию Visual Studio - Visual Studio.NET. Кроме C# в Visual Studio.NET входят Visual Basic.NET и Visual C++, а также совершенно новый язык F# (появился в VS2010 - функциональный язык программирования, в большей степени предназначенный для математических вычислений. Одна из причин разработки нового языка компанией 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 (MS VS 2010). Все уроки будут выполнятся в среде Microsoft Visual Studio.

Первая программа на C Sharp

Пишем первую программу на C#. Запускайте Visual Studio.NET. Для создания нового пустого проекта C# нажимаем на кнопку в New Project, или нажимаем комбинацию клавиш Ctrl+Shift+N, или просто заходим в меню File и далее выбираем New и затем Project:

В появившемся окне New Project слева выбираем, естественно, Visual C#, а справа тип приложения - Console Application:

Обязательно студентам нужно сообщить, чтобы задавали Location к их папке Y:\Kurs3\Gr3-42\[student].

В качестве имени проекта (Name) напечатайте MyFirstApp или что-то в этом роде. Нажмитие кпопку Ok для закрытия данного диалогового окна.

Теперь приступаем к коду. Наша первая программа просто выведет некоторое фиксированное слово в консольное окошко. Вот ее листинг.


using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;
namespace first
{
    /// 
    /// Summary description for MyFirstClass.
    /// 
    class MyFirstClass
    {
        /// 
        /// The main entry point for the application.
        /// 
        [STAThread]
        static void Main(string[] args)
        {
            //
            // TODO: Add code to start application here
            //
            Console.WriteLine("
Я начинаю изучать C#");
        }
    }
}

Запускаем программу, нажав Ctrl+F5. (Лучше F5, чтобы они привыкали к отладке) Результат будет таким:

Разберем текст программы поподробнее. Как вы знаете из предыдущего урока, в .NET Runtime существуют пространства имен. Одно из таких пространств - это System. Вообще-то оно добавляется автоматически в любой проект на C#. Так как мы добавили в нашу программу строчку Строка 

...
using System; ...


то мы можем позволяет вместо длинных имен использовать более короткие. В частности, вместо System.Console можно писать просто Console. Что мы делаем в строчке

...
Console.WriteLine("Я начинаю изучать C#");
...

Далее мы в нашей программе объявляем класс MyFirstClass. Что такое классы мы посмотрим в последующих уроках, сейчас же достаточно сказать, что в C# не существует глобальных функций, так что нам ничего не остается, как завести сначало класс и затем функцию Main в нем (функция Main обязательно должна быть в каждой программе на C#, и именно с этой функции и начинается выполнение программы. Обратите также внимание, что эта функция пишется с прописной (большой) буквы. C# различает строчные и прописные буквы, так что это важно). Кроме того, эта функция объявлена с модификатором static. Это означает, что она не относится к конкретному экземпляру класса MyFirstClass, а принадлежит всему классу. В нашей функции Main мы просто выводим на экран некоторую строчку методом WriteLine.

Как вы обратили внимание программа выполнилась и быстро закрыла свое окно, для того что бы такого не произошло, добавим еще одну строку в нашу программу:

...
Console.WriteLine("
Я начинаю изучать C#");
Console.ReadLine();
...

ReadLine как видно из названия, считывает строку. Теперь после запуска окно остается и программа ждет ввода. Для завершения ее работы требуется нажать Enter.

Теперь напишем эту же программу но для Windows Forms. Создадим новый проект, но тип проекта выберем «Windows Forms Application», зададим ему имя MyFirsWinApp, нажмите «OK». Перед вами появилась пустая форма. Поместим на нее кнопку (Button).

После того как разместили кнопку по ней следует кликнуть два раза мышкой, тогда откроется окно редактора кода. Напишем такую строчку:

MessageBox.Show ("Я начинаю изучать С#");

Можно запускать программу. С первой программой на C# все.


 

А также другие работы, которые могут Вас заинтересовать

35494. Моделирование информационных систем 702.5 KB
  Модели гидродинамики потоков в аппаратах. Модель идеального смешения Условия физической реализуемости этой модели выполняются если во всем потоке происходит полное смешение частиц потока. Модели идеального перемешивания соответствует апериодическое звено 1го порядка и имеет передаточную функцию. Математическое описание модели: где: с концентрация вещества; τ время пребывания частиц в реакторе; ω линейная скорость потока; х координата.
35495. Системы автоматизированной работы (САР) 5.7 MB
  Разомкнутые САР системы в которых входными воздействиями управляющего устройства являются только внешние задающие и возмущающие воздействия; при этом значение выходной величины ОУ может существенно отклоняться от его заданного значения в силу изменения внутренних свойств ОУ параметров САР. Устойчивость САР свойство системы возвращаться в исходное состояние равновесия после прекращения воздействия выведшего систему из этого состояния. уравнения частотные определяют связь между устойчивостью системы и формой частотных характеристик...
35496. Представление данных в электронных таблицах в виде диаграмм и графиков 1.25 MB
  Что нужно знать: что такое столбчатая линейчатая и круговая диаграмма какую информацию можно получить с каждой из них адрес ячейки в электронных таблицах состоит из имени столбца и следующего за ним номера строки например C15 формулы в электронных таблицах начинаются знаком = равно знаки и ^ в формулах означают соответственно сложение вычитание умножение деление и возведение в степень в заданиях ЕГЭ могут использоваться стандартные функции СУММ сумма СРЗНАЧ среднее значение МИН минимальное...
35497. КУЛЬТУРА СОВЕТСКОЙ ПОВСЕДНЕВНОСТИ И ЕЕ ОТРАЖЕНИЕ В САТИРЕ 1920–х ГОДОВ 209.5 KB
  Анализ специфики репрезентации советской повседневности в сатире. Как известно, в этот период истории происходила, навязываемая сверху, смена отношений к повседневности: «борьба» старого и нового быта. Ключевым вопросом в нашей курсовой работе является осмысление противостояния традиционного уклада жизни и навязываемыми сверху принципами «новой жизни».
35498. Архитектура ЭВМ 175.5 KB
  MOV регистр значение означает: поместить в регистр выбранное значение. MOV AX10 MOV BX5 MOV CX7 MOV DX15 ADD AXBX ADD AXCX SUB AXDX INT 20 Арифметические операции Операции умножить и разделить выполняются только для регистра AX. 100 MOV AX0 103 MOV BX1 106 MOV CXA 109 ADD AXBX 10C INC BX 10E DEC CX 110 JNZ 109 112 INT 20 Сохранение и загрузка файлов 1 Общие сведения. MOV AH01 включение ввода символа.
35499. Основы алгоритмизации и программирования 495.5 KB
  ЧИСЛА Целые числа: SHOPTINT 120127 BYTE 0 255 перечисляемые типы INTEGER 32768 32767 WORD 0: 65535 LONCINT 231 231 Действительные: SINGLE 1038 7 знаков после запятой REAL 1038 11 знаков DOUBLE 100300 19 знаков EXTENDED 104900 19 знаков. USES список библиотек; подключение библиотек или модулей TYPE описание; описание собственных типов данных CONST список постоянных VAR список переменных BEGIN начало программы END. конец программы Обязательными элементами являются только PROGRAM BEGIN END. PROGRAM FIRST;...
35500. Основы построения автоматизированных информационных систем 169.5 KB
  СУБД как основная часть АИС. Информационное обеспечение АИС. Математическое обеспечение АИС. Техническое обеспечение АИС. АИС – аппаратно- программный комплекс, предназначенный для решения задач по хранению, обработку, поиску информации.
35501. Общие вопросы по строительным конструкциям 457 KB
  Расчетные факторы нагрузки и механические характеристики материала временное сопротивление предел текучести и т. Нагрузки и воздействия могут отличаться от заданной вероятности превышения средних значений а механические характеристики материалов могут отличаться от заданной вероятности снижения средних значений.; усталостное разрушение расчет на выносливость конструкций находящихся под воздействием многократно повторяющейся нагрузки подвижной или пульсирующей: подкрановых балок шпал рамных фундаментов и перекрытий под...
35502. Материаловедение 115.5 KB
  16 МПа известковокремнеземистые известковонефелиновые бесклинкерные шлаковые и зольные вяжущие материалы хотя по существу они тоже относятся к гидравлическим вяжущим. Из строительной воздушной извести изготовляют растворы предназначенные для наземной кладки частей зданий и штукатурок работающих в воздушносухих условиях: бетоны низких марок для конструкций эксплуатируемых в воздушносухих условиях; плотные и ячеистые силикатные автоклавные изделия в том числе крупные блоки и панели; легкобетонные камни теплоизоляционные и другие...