netlib.narod.ru< Назад | Оглавление | Далее >

Версия на C#

В этой книге я расскажу о С# (произносится «си-шарп», как тональность «Лунной сонаты» Бетховена). С#, разработанный Андерсом Хейлcбергом (Anders Hejlsberg) из Microsoft, — современный объектно-ориентированный язык программирования, содержащий элементы С, C++. Java, Pascal и даже BASIC. В этой главе дается поверхностное и, конечно же, неполное описание языка.

Файлы исходного кода С# имеют расширение .cs («с sharp»). Моя первая версия программы «hello-world» на С# содержится в файле ConsoleHelloWorld.cs.

ConsoleHelloWorld.cs

  //--------------------------------------------------
  // ConsoleHelloWorld.cs (C) 2001 by Charles Petzold
  //--------------------------------------------------

  class ConsoleHelloWorld
  {
      public static void Main()
      {
          System.Console.WriteLine("Hello, world!");
      }
  }

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

Дешевле всего скачать .NET Framework Software Development Kit (SDK) с http://msdn.microsoft.com. При установке SDK устанавливаются и DLL (dynamic-link libraries, динамически подключаемые библиотеки), содержащие исполняющую среду .NET. Здесь же присутствует и техническая документация по .NET. Кроме того, вы получите вызываемый из интерфейса командной строки компилятор С#, который можно использовать для компиляции приведенных в этой книге программ.

Для написания программ на С# годится любой текстовый редактор, начиная с Microsoft Notepad. Компилятор C# называется csc.exe. ConsoleHelloWorld.cs компилируется такой командой:

  csc consolehelloworld.cs

И все! Этап компоновки отсутствует. (Как вы увидите в главе 2, компиляция программ Windows Forms потребует указания кое-каких дополнительных параметров.) Компилятор создаст файл ConsoleHelloWorld.exe, который можно запускать из командной строки.

Кроме того, можно создавать, компилировать и выполнять программы в Visual С# .NET, новейшей интегрированной среде разработки Microsoft. Visual C# .NET необходима профессиональным разработчикам на С#. Она крайне полезна для определенных типов программ Windows Forms, которые рассматривают окно программы как форму, содержащую управляющие элементы, например, кнопки, поля ввода текста, полосы прокрутки. Но применять Visual C# .NET не обязательно. Я считаю, что одно из самых больших удовольствий программирования для Windows на С# в том, что библиотека Windows Forms не требует использования отдельных файлов. Практически все содержится в файле исходного кода на С#, а все, что нужно для его заполнения, — пораскинуть мозгами и поработать руками.

Далее я опишу действия, которые выполняются для создания программ этой книги в Visual C# .NET. Каждый пример программы из этой книги — это проект под который отводится свой каталог на диске. В Visual C# .NET проекты обычно группируются в решения. Например, я создавал решение для каждой из глав этой книги. Решение также является каталогом. Проекты же — подкаталогами каталога решения.

Для создания решения выберите в меню File | New | Blank Solution. В диалоговом окне New Project выберите его местоположение на диске и введите имя решения. Именно так я и создавал решения для каждой из глав этой книги.

После загрузки решения в Visual C# .NET можно создать проекты для этого решения. Выберите File | Add Project | New Project. (Можно также щелкнуть правой кнопкой по имени решения в окне Solution Explorer и выбрать в контекстном меню Add | New Project.) В диалоговом окне Add New Project выберите тип проекта на вкладке Visual С# Projects. Можно выбрать один из нескольких шаблонов. Если вы не хотите, чтобы Visual C# .NET генерировала для вас код (лично я предпочитаю писать собственный), выберите шаблон Empty Project (пустой проект). Именно так я и создавал проекты для этой книги.

При работе с проектом можно выбрать Project | Add New Item для создания нового файла исходного кода на С#. (И здесь тоже можно щелкнуть правой кнопкой по имени проекта в окне Solution Explorer и выбрать этот пункт в контекстном меню.) В диалоговом окне Add New Item в списке Categories выберите Local Project Items. В разделе Templates выберите Code File. При использовании этого шаблона Visual С# .NET не будет генерировать код для вас.

При любом способе создания и компиляции ConsoleHelloWorld — в командной строке или в Visual C# .NET — файл .ехе будет небольшим — 3 или 4 Кб в зависимости от того, помещает ли в него компилятор отладочную информацию. Исполняемый файл состоит из операторов MSIL (Microsoft Intermediate Language). MSIL представлен на рассмотрение ЕСМА (European Computer Manufacturer's Association, Европейская ассоциация производителей компьютеров) в качестве стандарта под названием CIL (Common Intermediate Language). При запуске программы среда CLR (Common Language Runtime) компилирует промежуточный язык в «родной» машинный код компьютера и подключает соответствующие DLL .NET. Вероятно, сейчас вы используете компьютер архитектуры Intel, поэтому исполняющая среда будет генерировать 32-битный машинный код Intel x86.

Посмотреть на MSIL можно, запустив дизассемблер Intermediate Language Disassembler (ildasm.exe):

  ildasm consolehelloworld.exe

Чтобы получить документацию по набору инструкций MSIL, скачайте файл, описанный сокращением «CIL», с http://msdn.microsoft.com/net/ecma. Могут оказаться полезными и другие файлы на этой Web-странице. Можно даже писать код прямо на MSIL и собирать его, используя ассемблер Intermediate Language Assembler (ilasm.exe).

Так как написанные на С# программы компилируются в промежуточный язык, а не напрямую в машинный код, исполняемые файлы независимы от платформы. Возможно, в будущем исполняющую среду .NET перенесут на компьютеры отличной от Intel архитектуры. Если это произойдет, исполняемые файлы, которые вы создаете сегодня, будут на них запускаться. (Позвольте мне добавить «теоретически», чтобы не показаться безнадежно наивным.)

Кроме того, используя .NET Framework и программируя на С#, вы создаете управляемый код (managed code) — код, который может исследоваться и анализироваться другими программами для определения его возможностей. Наличие управляемого кода необходимо для обмена двоичными исполняемыми файлами через Интернет.


netlib.narod.ru< Назад | Оглавление | Далее >

Сайт управляется системой uCoz