Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
VPS/VDS серверы. 30 локаций на выбор

Серверы VPS/VDS с большим диском

Хорошие условия для реселлеров

4VPS.SU - VPS в 17-ти странах

2Gbit/s безлимит

Современное железо!

Бесплатный конструктор сайтов и Landing Page

Хостинг с DDoS защитой от 2.5$ + Бесплатный SSL и Домен

SSD VPS в Нидерландах под различные задачи от 2.6$

✅ Дешевый VPS-хостинг на AMD EPYC: 1vCore, 3GB DDR4, 15GB NVMe всего за €3,50!

🔥 Anti-DDoS защита 12 Тбит/с!

Книги: [Классика] [Базы данных] [Internet/WWW] [Сети] [Программирование] [UNIX] [Windows] [Безопасность] [Графика] [Software Engineering] [ERP-системы] [Hardware]

     

Платформа .NET для Java-программистов. Библиотека программиста

Гиббонз П.

Издано: Издательский дом "Питер"
ISBN: 5-88782-219-8
Мягкий переплет, 336 стр.

Начало
Cодержание
Отрывок
[Заказать книгу в магазине "Мистраль"]

Отрывок

Знакомство с C#

C# - не единственный язык программирования для платформы .NET, однако вполне естественно, что программисты с опытом работы на Java останавливают свой выбор именно на этом языке.

Возможно, ваша первая программа на Java напоминала классическую программу HelloWorld, даже если она и не называлась HelloWorld.java. В этой главе мы напишем программу HelloWorld на C#; первая версия будет использовать только средства пакета .NET Framework Software Development Kit (SDK), а затем та же программа будет создана в среде Visual Studio .NET. Наверное, программа HelloWorld.cs не произведет особого фурора, но она убедит читателя в том, что C# - это не Java, а также познакомит его с некоторыми средствами, используемыми при программировании на C#.

Программа HelloWorld на C# (инструментарий SDK)

Сначала мы напишем программу HelloWorld без использования Visual Studio .NET. Запустите Блокнот (или другой редактор по вашему усмотрению) и введите следующую программу:

public class HelloWorld
{
    public static void Main( string[] args )
    {
        System.Console.WriteLine( "Hello world from C#" );
    }
}

Выглядит знакомо, не правда ли? Замените System.Console.WriteLine на System. out.println, Main - на mainОшибка! Закладка не определена., string - на String, и у вас получится обычная Java-программа.

Сохраните программу в файле HelloWorld.cs (файлы с исходными текстами программ C# имеют расширение .cs).

Чтобы откомпилировать программу, необходимо задать путь к инструментарию .NET Framework. По умолчанию .NET Framework устанавливается в каталог C:\Windows\Microsoft.NET\Framework\v1.0.3705, где 3705 - номер сборки для версии 1 (в версии бета-1 этот номер был равен 2204, а в версии бета-2 - 2914). Откройте окно командной строки командой Пуск4Программы4Стандартные4Командная строка (Start4All Programs4Accessories4Command Promt) и включите путь в переменную PATH следующей командой:

path %SystemRoot%\Microsoft.NET\Framework\v1.0.3705\;%PATH%

При помощи команды cd перейдите в каталог, в котором был сохранен файл HelloWorld.cs, и откомпилируйте программу командой csc.

csc HelloWorld.css

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

HelloWorld

На экране появляется знакомое сообщение (рис. 1.1).

Рис. 1.1. Результаты работы HelloWorld

Стоп! Перед вами первое существенное отличие от Java. Просмотрите содержимое каталога, в котором была построена программа. Исходный код компилируется в исполняемый файл, который запускается, как любой другой исполняемый файл. В каталоге нет ничего похожего на файл .class языка Java, а для выполнения кода, написанного на C#, не нужно запускать отдельную программу.

Программа HelloWorld на C# (Visual Studio .NET)

Теперь давайте создадим программу HelloWorld так, как это делается на практике - в интегрированной среде (IDE) Visual Studio .NET.

Если в системе еще не создан ярлык для запуска Visual Studio .NET, выполните команду Пуск4Программы4Microsoft Visual Studio .NET4Microsoft Visual Studio .NET.

При запуске Visual Studio .NET открывается страница Start. Если среда Visual Studio .NET запускается впервые, на этой странице отображаются данные профиля (вкладка My Profile - рис. 1.2).

Рис. 1.2. Окно Visual Studio .NET при первом запуске

На этой вкладке можно задать некоторые параметры работы IDE. Пока оставьте элемент значения по умолчанию и перейдите на вкладку Get Started. Именно эта вкладка будет открываться в окне Visual Studio .NET при будущих запусках (рис. 1.3).

На вкладке выводится список последних открывавшихся проектов, что упрощает их открытие в будущем. Щелкните на кнопке New Project, выберите значок консольные приложения Console Application в категории Visual C++ Projects и введите имя HelloWorld вместо предлагаемого по умолчанию имени ConsoleApplication1 (рис. 1.4). Подтвердите введенные данные кнопкой OK.

Рис. 1.3. Вкладка Get Started стартовой страницы Visual Studio .NET

Рис. 1.4. Создание проекта в среде Visual Studio .NET

Visual Studio .NET генерирует в файле HelloWorld.cs следующий код:

using System;

namespace HelloWorld
{
    /// 
    /// Краткое описание Class1.
    /// 
    class Class1
    {
        static void Main(string[] args)
        {
            //
            // TODO: Вставьте код запуска приложения
            //
        }
    }
}

Нет, это определенно не Java! Впрочем, у всех новых конструкций существуют свои аналоги в Java.

Любой программист с опытом работы на C++ узнает директивы using System (импорт из пространства имен) и namespace HelloWorld (объявление пространства имен). Таким образом, пространство имен является аналогом пакета Java, а эти директивы аналогичны директивам import System.* и package Helloworld.

Также обратите внимание на строки, начинающиеся с префикса /// и содержащие код XML. Документирующие комментарии C# являются аналогами комментариев Javadoc; как и комментарии Javadoc, они предназначены для документирования исходных текстов программ. Вместо перехода от /*…*/ к /**…*/ и использования ключевых слов с префиксом @ разработчики C# пошли по другому пути - они расширили // до /// и использовали ключевые слова XML.

Но давайте вернемся к исходной задаче и закончим программу. Замените комментарии TODO следующей конструкцией:

System.Console.WriteLine( "Hello world from C#" );

Откомпилируйте Visual Studio .NET программу командой Build4Build HelloWorld и запустите ее командой Debug4Start. Консольное окно с сообщением появляется на экране и сразу же исчезает. Чтобы получше рассмотреть содержимое окна, щелкните правой кнопкой мыши на закрывающей фигурной скобке (}) метода Main и выберите в контекстном меню команду Insert Breakpoint (рис. 1.5), чтобы установить в программе точку прерывания.

На этот раз запущенное приложение останавливается и позволяет просмотреть выходные данные. Выполнение программы продолжается командой Debug4 Continue.

Найдите окно Solution Explorer (если окно отсутствует на экране, выполните команду View4Solution Explorer). Кроме файла Class1.cs, который мы только что редактировали, в окне присутствует другой файл с тем же расширением, AssemblyInfo.cs. При двойном щелчке на имени файла в окне открывается его исходный код (первая часть файла приведена в листинге 1.1).

Рис. 1.5. Установка точки прерывания

Листинг 1.1. Часть файла AssemblyInfo.cs, сгенерированного средой Visual Studio .NET

using System.Reflection;
using System.Runtime.CompilerServices;

//
// Следующие атрибуты управляют общей информацией о сборке.
// Изменение значений атрибутов приведет к изменению информации,
// ассоциированной со сборкой.
//
[assembly: AssemblyTitle("")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("")]
[assembly: AssemblyCopyright("")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]

//
// Номер версии сборки состоит из четырех компонентов:
//
//      Основная версия
//      Дополнительная версия
//      Номер построения
//      Ревизия
//
// Вы можете задать все значения или использовать номера ревизии
// и построения по умолчанию при помощи символа '*', как показано ниже:

[assembly: AssemblyVersion("1.0.*")]

В квадратные скобки ([]) заключены атрибуты, которые в данном случае содержат информацию о Visual Studio .NET сборке (assembly). Содержимое файла AssemblyInfo.cs аналогично содержимому манифеста в файле .jar, однако атрибуты не ограничиваются передачей общей информации о сборке. Простое включение атрибута позволяет преобразовать класс в web-службу или объект COM, освобождая вас от необходимости писать рутинный код. Как будет показано в дальнейших главах, атрибуты играют важную роль в .NET-программировании.

Что же такое "сборка"? Каждый из файлов HelloWorld.exe, созданных нами в режиме командной строки и в среде Visual Studio .NET, представляет собой сборку. Сборку можно рассматривать как аналог .jar-файла, но сборка не обязательно является самостоятельным файлом (.exe или .dll). Сборка может состоять из нескольких файлов, которые на логическом уровне рассматриваются как единое целое.

Итоги

В этой главе вы научились компилировать и запускать программы C# в режиме командной строки и в среде Visual Studio .NET. Также было показано, что C# - нечто большее, чем переименованный диалект Java с новыми библиотеками. В главе 2 "Краткий курс C#" проводится обстоятельный сравнительный анализ двух языков, в ходе которого вы узнаете много нового. Глава 3 "Знакомство с платформой .NET" представляет платформу .NET Framework и ее виртуальную машину CLR (Common Language Runtime). Обязательно прочитайте эти главы и убедитесь в том, что вы хорошо понимаете основные различия между C# и Java, прежде чем переходить к дальнейшим главам, в которых рассматриваются конкретные технологии.

Ну что, приступим?

Начало
Cодержание
Отрывок
[Заказать книгу в магазине "Мистраль"]

 

VPS в России, Европе и США

Бесплатная поддержка и администрирование

Оплата российскими и международными картами

🔥 VPS до 5.7 ГГц под любые задачи с AntiDDoS в 7 локациях

💸 Гифткод CITFORUM (250р на баланс) и попробуйте уже сейчас!

🛒 Скидка 15% на первый платеж (в течение 24ч)

Скидка до 20% на услуги дата-центра. Аренда серверной стойки. Colocation от 1U!

Миграция в облако #SotelCloud. Виртуальный сервер в облаке. Выбрать конфигурацию на сайте!

Виртуальная АТС для вашего бизнеса. Приветственные бонусы для новых клиентов!

Виртуальные VPS серверы в РФ и ЕС

Dedicated серверы в РФ и ЕС

По промокоду CITFORUM скидка 30% на заказ VPS\VDS

Новости мира IT:

Архив новостей

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 7861149
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2019 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...