Задание
Статическое
свойство
![]()
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);
}
}
