Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Объектно-ориентированное программирование.-6

.pdf
Скачиваний:
8
Добавлен:
05.02.2023
Размер:
4.5 Mб
Скачать

6.ЗАКЛЮЧЕНИЕ

Ксожалению, объем курса не позволяет рассмотреть:

Некоторые полезные возможности среды .NET и языка C# (в частности, работу с регулярными выражениями, лямбда-выражения, выражения за-

просов LINQ – Language-Integrated Query);

Технологии разработки сетевых приложений – Active Server Page (ASP.NET приложения), web-службы, программирование сокетов и т.п.;

Управление базами данных (включая технологию доступа к данным

ADO – Active Data Objects);

Разработку оконных приложений (Window Forms, WPF) и технологию визуального программирования;

Программирование графики (OpenGL, Direct3D, GDI+);

Работу с интерфейсами COM (Component Object Model).

Сетевые технологии и технологии баз данных изучаются в рамках соответствующих дисциплин. Регулярные выражения, визуальное программирование и работа с мультимедиа изучаются в рамках дисциплины «Мульти- медиа-технологии».

Количество классов .NET настолько велико, что описать их все в рамках одной, сколь угодно объемной, книги не представляется возможным. Самое главное, что мы рассмотрели каркас .NET Framework, принципы объект- но-ориентированного программирования, базовые классы и один из языков

.NET – C#, а также научились пользоваться справочной системой MSDN.

Все разработчики .NET стараются проектировать свои классы так, чтобы ими было удобно пользоваться – классы располагаются в одном пространстве имен со схожими по функциональности классами. Сами классы и их члены имеют интуитивно понятные имена, а также хорошо документированы. Поэтому освоение новых компонентов облегчено настолько, насколько это возможно.

Будем надеяться, что и разработанные вами компоненты будут удовлетворять этим критериям.

441

СПИСОК ЛИТЕРАТУРЫ

1.Библиотека Microsoft Developer Network (MSDN). – http://msdn. microsoft.com/ru-ru/library.

2.Биллиг В.А. Основы программирования на C#. – Интернет Университет Информационных технологий (ИНТУИТ). – http://www.intuit.ru/ department/pl/csharp/.

3.Долженко А.И. Разработка Windows-приложений на языке C# 2005. – Интернет Университет Информационных технологий (ИНТУИТ). – http:// www.intuit.ru/department/se/devcsharp2005/.

4.Кариев Ч.А. Создание Windows-приложений на основе Visual C#. – Интернет Университет Информационных технологий (ИНТУИТ). – http:// www.intuit.ru/department/pl/visualcsharp/.

5.Марченко А.Л. Введение в программирование на C# 2.0. – Интернет Университет Информационных технологий (ИНТУИТ). – http://www. intuit.ru/department/pl/csharp20/.

6.Петцольд Ч. Программирование для Microsoft Windows на C#. – М.: Русская Редакция, 2002. – Том 1. – 576 с.

7.Петцольд Ч. Программирование для Microsoft Windows на C#. – М.: Русская Редакция, 2002. – Том 2. – 624 с.

8.Рихтер Дж. Программирование на платформе Microsoft .NET Framework. – М.: Русская Редакция, 2003. – 512 с.

9.Троелсен Э. C# и платформа .NET 3.0. – СПб: Питер, 2008. – 1456 с.

442

ПРИЛОЖЕНИЯ

Приложение А. Объекты для работы с датой и временем

Структура DateTime представляет текущее время, обычно выраженное как дата и время суток в диапазоне от 00:00:00 1 января 0001 года (н.э.) до

23:59:59 31 декабря 9999 года (н.э.).

Значения времени измеряются в 100-наносекундных единицах, называемых тактами, и точная дата представляется числом тактов с 00:00:00 1 января 0001 года н.э. Например, значение тактов, равное 31241376000000000L, представляет 00:00:00, пятницу 1 января 0100 года.

В таблице А.1 кратко рассмотрены основные открытые (public) члены структуры DateTime.

Табл. А.1 – Члены структуры DateTime

Член

Владелец

Описание

 

 

 

 

 

 

 

 

 

Конструкторы

 

 

 

 

 

 

DateTime(...)

 

Имеется большой набор кон-

 

 

структоров,

инициализирующих

 

 

структуру различными наборами

 

 

аргументов (см. справку MSDN)

 

 

 

 

 

 

 

Методы

 

 

 

 

 

 

 

static int

 

Сравнивает два экземпляра объ-

Compare(DateTime t1,

 

екта DateTime

 

 

 

 

 

 

DateTime t2)

 

 

 

 

 

 

 

 

 

 

 

int CompareTo(object

IComparable

Сравнивает

значение

даты

и

value)

 

времени с другим объектом (см.

 

 

 

 

п. 4.9.4)

 

 

 

 

 

 

 

 

DateTime Add(TimeSpan

 

Возвращает

новый объект,

до-

value)

 

бавляющий

интервал

времени

 

 

 

 

TimeSpan(1) к значению данного

 

 

экземпляра

 

 

 

 

 

 

 

 

DateTime AddTicks(long

 

Возвращает

новый объект,

до-

value)

 

бавляющий заданное число так-

 

 

 

 

тов к значению данного экзем-

 

 

пляра

 

 

 

 

 

 

 

 

 

 

443

 

 

 

 

DateTime

 

То же для миллисекунд

 

AddMilliseconds

 

 

 

 

 

(double value)

 

 

 

 

 

 

 

 

 

 

DateTime AddSeconds

 

То же для секунд

 

 

(double value)

 

 

 

 

 

 

 

 

 

 

DateTime AddMinutes

 

То же для минут

 

 

(double value)

 

 

 

 

 

 

 

 

 

 

DateTime AddHours

 

То же для часов

 

 

(double value)

 

 

 

 

 

 

 

 

 

 

DateTime AddDays

 

То же для дней

 

 

(double value)

 

 

 

 

 

 

 

 

 

 

DateTime AddMonths

 

То же для месяцев

 

 

(int months)

 

 

 

 

 

 

 

 

 

 

DateTime AddYears (int

 

То же для лет

 

 

value)

 

 

 

 

 

 

 

 

 

 

static int

 

Возвращает

число

дней в ука-

DaysInMonth(int year,

 

занном месяце указанного года

int month)

 

 

 

 

 

 

 

 

 

 

 

override bool

Object

Возвращает

значение,

указыва-

Equals(object value)

 

ющее, равен ли данный экзем-

 

 

 

 

пляр заданному объекту

 

 

 

 

 

 

static bool

 

Возвращает

значение,

указыва-

Equals(DateTime t1,

 

ющее, равны ли два экземпляра

 

 

DateTime t2)

 

DateTime

 

 

 

 

 

 

 

 

 

 

 

Type GetType()

Object

Возвращает метакласс типа

 

 

 

TypeCode GetTypeCode()

IConvertible

Возвращает TypeCode для класса

 

 

DateTime

 

 

 

 

 

 

static bool

 

Возвращает сведения о том, яв-

IsLeapYear(int year)

 

ляется ли указанный год висо-

 

 

 

 

косным

 

 

 

 

 

 

 

 

static DateTime

 

Преобразовывают

 

заданное

Parse(...)

 

строковое представление даты и

static DateTime

 

 

времени в

его

эквивалент

ParseExact(...)

 

 

DateTime (см. § 3.2)

 

 

static bool

 

 

 

 

 

 

 

 

TryParse(...)

 

 

 

 

 

static bool

 

 

 

 

 

TryParseExact(...)

 

 

 

 

 

 

 

 

TimeSpan Subtract

 

Находит интервал между двумя

 

 

 

 

 

 

 

444

 

 

 

 

(DateTime value)

 

 

значениями даты и времени

 

 

 

 

DateTime Subtract

 

 

Вычитает из этого экземпляра

(TimeSpan value)

 

 

указанный интервал

 

 

 

 

 

 

 

override string

Object

 

Преобразует значение текущего

ToString()

 

 

объекта DateTime в эквивалент-

 

 

 

 

 

 

ное ему строковое представле-

 

 

 

ние

 

 

 

 

string ToString(string

 

 

То же, но в указанном формате

format)

 

 

(см. § 3.2)

 

 

 

 

 

 

 

string ToString

IConvertible

 

То же, но с использованием ука-

(IFormatProvider

 

 

занных сведений о форматиро-

 

 

 

provider)

 

 

вании, связанных с языком и ре-

 

 

 

 

 

 

гиональными параметрами (см.

 

 

 

п. 4.9.4)

 

 

 

 

string ToString(string

IFormattable

 

То же (см. п. 4.9.4)

format,

 

 

 

IFormatProvider

 

 

 

provider)

 

 

 

 

 

 

 

DateTime

 

 

Преобразует значение текущего

ToUniversalTime()

 

 

объекта DateTime во время UTC

 

 

 

 

 

 

 

<тип> To<тип>

IConvertible

 

Преобразование в другие форма-

(IFormatProvider

 

 

ты (не все поддерживаются, см.

 

 

 

provider)

 

 

п. 4.9.4)

 

 

 

 

 

 

 

 

Операторы

 

 

 

 

 

static DateTime

 

 

Прибавляет к дате и времени

operator + (DateTime

 

 

указанный временной интервал

 

 

 

d, TimeSpan t)

 

 

 

 

 

 

 

static bool operator

 

 

Определяет, равны ли два задан-

== (DateTime d1,

 

 

ных экземпляра

 

 

 

DateTime d2)

 

 

 

 

 

 

 

static bool operator >

 

 

Определяет, больше ли один эк-

(DateTime t1, DateTime

 

 

земпляр другого

 

 

 

t2)

 

 

 

 

 

 

 

static bool operator

 

 

По аналогии

>= (DateTime t1,

 

 

 

DateTime t2)

 

 

 

 

 

 

 

static bool operator

 

 

По аналогии

 

 

 

 

 

445

 

 

!= (DateTime d1,

 

 

 

 

 

DateTime d2)

 

 

 

 

 

 

 

 

 

 

static bool operator <

 

По аналогии

 

 

(DateTime t1, DateTime

 

 

 

 

 

t2)

 

 

 

 

 

 

 

 

 

 

static bool operator

 

По аналогии

 

 

<= (DateTime t1,

 

 

 

 

 

DateTime t2)

 

 

 

 

 

 

 

 

static TimeSpan

 

Находит интервал между двумя

operator - (DateTime

 

значениями даты и времени

 

 

d1, DateTime d2)

 

 

 

 

 

 

 

 

 

 

static DateTime

 

Вычитает

из

этого экземпляра

operator - (DateTime

 

указанный интервал

 

 

 

 

d, TimeSpan t)

 

 

 

 

 

 

 

 

 

 

 

 

Поля

 

 

 

 

 

 

static readonly

 

Представляет наибольшее значе-

DateTime MaxValue

 

ние типа DateTime

 

 

 

 

 

 

 

static readonly

 

Представляет минимально допу-

DateTime MinValue

 

стимое значение типа DateTime

 

 

 

 

 

 

 

 

 

Свойства

 

 

 

 

 

 

DateTime Date

 

Возвращает компоненту даты

 

 

 

int Day

 

Возвращает день месяца

 

 

 

DayOfWeek DayOfWeek

 

Возвращает день недели(2)

 

 

 

 

int DayOfYear

 

Возвращает день года

 

 

 

 

int Hour

 

Возвращает компонент часа

 

 

 

DateTimeKind Kind

 

Возвращает тип времени(3)

 

 

 

int Millisecond

 

Возвращает компонент миллисе-

 

 

кунд

 

 

 

 

 

 

int Minute

 

Возвращает компонент минуты

 

 

 

int Month

 

Возвращает компонент месяца

 

 

 

 

 

static DateTime Now

 

Возвращает

объект

DateTime,

 

 

которому

присвоены

текущие

 

 

дата и время

 

 

 

 

 

int Second

 

Возвращает компонент секунды

 

 

 

long Ticks

 

Возвращает число тактов

 

 

 

 

TimeSpan TimeOfDay

 

Возвращает время дня

 

 

 

 

static DateTime Today

 

Возвращает текущую дату

 

 

 

 

 

 

 

446

 

 

 

 

static DateTime UtcNow

 

Возвращает объект

DateTime,

 

 

которому присвоены

текущие

 

 

дата и время UTC(4)

 

int Year

 

Возвращает компонент года

 

 

 

 

Примечания:

(1)TimeSpan – структура, представляет интервал времени. Содержит не меньший набор членов, чем структура DateTime. Подробности можно узнать

всправочной системе.

(2)DayOfWeek – перечисление дней недели, может принимать следую-

щие значения: Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday.

(3)DateTimeKind – перечисление типов представления времени, может принимать следующие значения:

• Unspecified – Представленное время не определено ни как местное, ни как время UTC;

• Utc – Представленное время является временем UTC;

• Local – Представленное время является местным.

(4)UTC (Universal Time Coordinated) – всемирное координированное время. См. http://ru.wikipedia.org/wiki/UTC.

447

Приложение Б. Объекты для работы со строками

Основные открытые (public) члены класса System.String представлены в таблице Б.1.

Табл. Б.1 – Члены класса String

Член

Владелец

Описание

 

 

 

 

 

 

 

 

 

 

Конструкторы

 

 

 

 

 

 

 

 

String(...)

 

Ряд конструкторов для со-

 

 

здания строки из

массивов

 

 

элементов типа char и byte

 

 

(см. MSDN)

 

 

 

 

 

 

 

 

 

 

 

Методы

 

 

 

 

 

 

 

 

 

 

object Clone()

ICloneable

Возвращает

ссылку на

дан-

 

 

ный экземпляр класса String

 

 

 

 

static int Compare(string

 

Сравнивает

два указанных

strA, string strB)

 

объекта String. При strA <

 

 

 

 

strB результат меньше нуля,

 

 

при strA = strB – ноль, при

 

 

strA > strB – больше нуля

 

 

 

static int Compare(...)

 

Еще большой набор методов

 

 

для сравнения строк с до-

 

 

полнительными

опциями

 

 

(сравнение подстрок, учет

 

 

регистра, региональных па-

 

 

раметров)

 

 

 

 

 

 

 

 

 

static int

 

Сравнивает

два

заданных

CompareOrdinal(...)

 

объекта

String,

оценивая

 

 

 

 

числовые

значения

соответ-

 

 

ствующих объектов

 

 

 

 

 

 

 

int CompareTo(object

IComparable

Реализация

сравнения

для

value)

 

интерфейса IComparable

 

 

 

 

 

 

 

static string Concat(...)

 

Ряд методов, соединяющих

 

 

строковое представление ар-

 

 

гументов в единую строку

 

 

 

 

 

 

 

 

448

 

 

 

 

 

bool Contains(string

 

Определяет,

входит ли под-

value)

 

строка

в

данный

экземпляр

 

 

 

 

строки

 

 

 

 

 

 

 

 

 

 

 

static string Copy(string

 

Создает

копию данного

эк-

str)

 

земпляра строки

 

 

 

 

 

 

 

 

 

 

 

void CopyTo(int

 

Копирует

в

строку указан-

sourceIndex, char[]

 

ные элементы массива char

destination, int

 

 

 

 

 

 

 

 

 

destinationIndex, int

 

 

 

 

 

 

 

 

count)

 

 

 

 

 

 

 

 

 

 

 

 

 

bool EndsWith(...)

 

Определяет,

совпадает

ли

 

 

конец

данного

экземпляра

 

 

строки с указанной строкой

 

 

 

 

override bool

Object

Сравнивает две строки

 

Equals(object obj)

 

 

 

 

 

 

 

 

 

 

 

 

 

bool Equals(...)

 

Ряд методов

для

сравнения

static bool Equals(...)

 

строк

с

 

дополнительными

 

 

 

 

 

опциями

 

 

 

 

 

 

 

 

static string Format(...)

 

Формирует строку из аргу-

 

 

ментов в указанном формате

 

 

 

CharEnumerator

 

Возвращает итератор строки

GetEnumerator()

 

(см. п. 4.9.4 и описание цик-

 

 

 

 

ла foreach)

 

 

 

 

 

 

 

 

 

 

IEnumerator

IEnumerable

То же самое

 

 

 

GetEnumerator()

 

 

 

 

 

 

 

 

 

 

 

Type GetType()

Object

Возвращает метакласс типа

 

 

 

 

 

TypeCode GetTypeCode()

IConvertible

Возвращает

TypeCode

для

 

 

класса String

 

 

 

 

 

 

int IndexOf(...)

 

Ряд методов, возвращающих

 

 

позицию первого вхождения

 

 

подстроки

или

символа в

 

 

данную строку

 

 

 

 

 

int IndexOfAny(char[]

 

Ряд методов, возвращающих

anyOf, ...)

 

позицию первого вхождения

 

 

 

 

любого символа из набора в

 

 

данную строку

 

 

 

 

 

 

 

 

 

 

 

 

449

 

 

 

 

 

 

 

string Insert(int

 

Вставляет подстроку в дан-

startIndex, string value)

 

ную строку, и возвращает

 

 

 

 

результат в виде новой стро-

 

 

ки

 

 

 

 

 

 

 

 

static bool

 

Указывает, имеет ли указан-

IsNullOrEmpty(string

 

ная строка значение null или

 

 

value)

 

Empty(1)

 

 

 

 

 

 

 

 

 

 

 

 

static bool

 

Указывает, является ли ука-

IsNullOrWhiteSpace

 

занная

строка

значением

(string value)

 

 

null, пустой строкой или

 

 

 

 

строкой,

состоящей

только

 

 

из пробельных символов(2)

static string Join(...)

 

Сцепляет аргументы метода,

 

 

помещая между ними задан-

 

 

ный разделитель

 

 

 

 

 

 

int LastIndexOf(...)

 

Ряд методов,

возвращающих

 

 

позицию

последнего

вхож-

 

 

дения подстроки или симво-

 

 

ла в данную строку

 

 

 

 

 

int LastIndexOfAny

 

Ряд методов,

возвращающих

(char[] anyOf, ...)

 

позицию

последнего

вхож-

 

 

 

 

дения любого

символа из

 

 

набора в данную строку

 

 

 

 

 

string PadLeft(int

 

Возвращает

новую

строку,

totalWidth)

 

дополняющую данную слева

 

 

 

 

пробелами

до

указанной

 

 

длины

 

 

 

 

 

 

 

 

 

 

string PadLeft(int

 

Возвращает

новую

строку,

totalWidth, char

 

дополняющую данную слева

 

 

paddingChar)

 

любыми символами до ука-

 

 

 

 

занной длины

 

 

 

 

 

 

 

 

string PadRight(int

 

Возвращает

новую

строку,

totalWidth)

 

дополняющую данную спра-

 

 

 

 

ва пробелами

до

указанной

 

 

длины

 

 

 

 

 

 

 

 

 

 

 

 

 

 

450