Курсы по программированию

Формула программиста

основатель — Волосатов Евгений Витольдович
Поздравляю с 1 сентября! Система начисления Байтов работает.

Без конкуренции / Главный Анализатор

  • На этом уроке мы создадим класс Analyzer,
    в котором будут хранится все параметры по
    одному конкретному файлу - опишем в классе все поля.
    Также мы напишем методы Clear() и AddTotal().
    В конце урока сделаем заглушку для метода AddFile(),
    чтобы посмотреть, как наша программа работает.
  • Дата отправки отчёта: 29 августа 2016 г.
  • Задание выполнено: за 16 мин.
  • Чему научился: повторенье
  • Что было сложным: всё понятно
  • Комментарии: а если класс Analyzer ещё ни разу не создавался, то переменные в нем статичные будут созданы?
  • Оценка видео-уроку:
Отчёт от 6452 за Без конкуренции / Главный Анализатор




Оцени работу

 
Сохранить страницу:

9263. --
Андрей Н.
Андрей Н.
ответить
→  Кирилл Шмойлов  # Без конкуренции / Главный Анализатор / 2016-08-29 09:29

статический конструктор класса запускается один раз при любом самом первом обращении к этому классу, при этом также создаются и инициализируются поля


7119. --
Новопашин Владимир
Новопашин Владимир
ответить
→  Кирилл Шмойлов  # Без конкуренции / Главный Анализатор / 2016-08-29 10:00

Конечно. Например в классе Math я всегда могу получить значение PI.


6452. --
Кирилл Шмойлов
Кирилл Шмойлов
ответить
→  Новопашин Владимир  # Без конкуренции / Главный Анализатор / 2016-08-29 11:01

Это сам класс статический, но у нас то класс обыкновенный!


6452. --
Кирилл Шмойлов
Кирилл Шмойлов
ответить
→  Новопашин Владимир  # Без конкуренции / Главный Анализатор / 2016-08-29 11:01

Это сам класс статический, но у нас то класс обыкновенный!


6452. --
Кирилл Шмойлов
Кирилл Шмойлов
ответить
→  Андрей Н.  # Без конкуренции / Главный Анализатор / 2016-08-29 11:02

А если мы к нему не обращались, никак не создавали, мы можем использовать внутри описанные статичные переменные?


9263. --
Андрей Н.
Андрей Н.
ответить
→  Кирилл Шмойлов  # Без конкуренции / Главный Анализатор / 2016-08-29 13:46

Можем. При первом обращении конструктор вызовется автоматически
как только исполнение программы дойдет до места Analyzer.FieldName - перед этим автоматически произойдет вызов статического конструктора static Analyzer()
Если поля этого класса описаны как статические и на месте инициализируются, например:
class Analyzer
{
    static public string FieldName = "olololo";
    ...
}
это просто синтаксический сахар и на самом деле преобразуется в:
class Analyzer
{
    static public string FieldName;

    static Analyzer
    {
        FieldName = "olololo";
    }
    ...
}



Начинаем практику по языку C#





Если вы пришли без приглашения -
введите тысяча двадцать четыре (цифрами).
Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

После заполнения формы ты будешь подписан на рассылку «C# Вебинары и Видеоуроки», у тебя появится доступ к видеоурокам и консольным задачам.

Несколько раз в неделю тебе будут приходить письма — приглашения на вебинары, информация об акциях и скидках, полезная информация по C#.

Ты в любой момент сможешь отписаться от рассылки.


Научился: Вспомнил создание класса
Думать над переменными, какие надо, а какие нет - довольно трудно. Но лёгкой жизни не обещал никто :)


а если класс Analyzer ещё ни разу не создавался, то переменные в нем статичные будут созданы?