Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекции все вместе / Lektsii_razdel2.doc
Скачиваний:
5
Добавлен:
20.04.2015
Размер:
795.65 Кб
Скачать

Задание

Статическое свойство Today структуры DateTime возвращает текущую дату.

Нестатическое свойство DayOfYear структуры DateTime возвращает день года, представленный этим экземпляром.

Написать код, демонстрирующий применение свойств.

Какие типы имеют свойства?

Ответ

using System;

class Program

{

static void Main()

{

DateTime mydata = new DateTime(2010, 01, 12);

int myday = mydata.DayOfYear;

Console.WriteLine(myday);

DateTime f = DateTime.Today;

Console.WriteLine("{0:d}",f);

}

}

– поля . Получение доступа к полям структур или классов Поле переменная объявленная в классе или структуре. Поле имеет имя и тип. Класс или структура могут иметь поля экземпляра или статические поля.

Пример. Статическое поле MaxValue структуры DateTime доступное только для чтения.

Рис. Отображение имени и описание статического поля MaxValue структуры DateTime пространства имен System в окне обозревателя объектов.

Тип поля – DateTime. Поэтому для того чтобы сохранить значение поля необходимо объявить переменную maxval типа DateTime.

DateTime maxval = DateTime.MaxValue;

Console.WriteLine(maxval);

Задание

Статическое поле Empty класса String Представляет пустую строку. Это поле доступно только для чтения. Написать код, демонстрирующий применение поля Empty. Какой тип имеет поле Empty?

Ответ

using System;

class Program

{

static void Main()

{

string s = String.Empty;

Console.WriteLine(s);

}

}

Пример поле экземпляра.

Рис. Отображение имени и описание поля myfield класса mycclass в окне обозревателя объектов.

В примере определен пользовательский тип – класс mycclass. Необходимо добавить в код директиву using, потому что используется класс Console пространства имен System.

using System;

public class mycclass

{

/// <summary>

/// открытое поле myfield класса mycclass

/// </summary>

public int myfield;

}

class Program

{

static void Main()

{

mycclass myobject = new mycclass();

myobject.myfield = 9;

Console.WriteLine(myobject.myfield);

}

}

В классе определено открытое поле myfield. Для доступа к полю необходимо указать имя экземпляра типа (класса mycclass), точка, имя поля без круглых скобок, так как с полем надо работать как с переменной.

Как правило, в классах и структурах библиотеки используются поля имеющие модификаторы доступа private или protected. Данные, которые класс представляют клиентскому коду, должны обеспечиваться методами, свойствами и индексаторами. Используя эти конструкции для косвенного доступа к внутренним полям, можно защититься от недопустимых входных значений. Поэтому был создан пользовательский тип – класс mycclass.

–Константы.

Константы представляют собой неизменные значения. Только встроенные типы C# могут быть объявлены как const. Константы должны быть инициализированы сразу после объявления.

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

public const int months = 12;

Пример. Константа PI Класса Math пространства имен System.

Рис. Отображение имени и описание константы PI класса Math пространства имен System в окне обозревателя объектов.

Пример использования константы PI класса Math.

using System;

namespace ConsoleApplication1

{

class Program

{

static void Main(string[] args)

{

double pi = Math.PI;

Console.WriteLine(pi);

}

}

}

Доступ к константе PI класса Math осуществляется также как и к статическим членам типов. Имя типа, точка, имя константы.

Задание

Константа NegativeInfinity Представляет минус бесконечность. Это поле является константой структуры double. Написать код, демонстрирующий применение константы NegativeInfinity.

Ответ

using System;

class Program

{

static void Main()

{

double d = Double.NegativeInfinity;

Console.WriteLine(d);

}

}

Соседние файлы в папке лекции все вместе