Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
0 / 4 / 0
Регистрация: 04.10.2017
Сообщений: 15
1

Проверка в конструкторе

11.10.2018, 16:17. Просмотров 2310. Ответов 2
Метки нет (Все метки)

Здравствуйте. Мне необходимо написать конструктор с тремя параметрами, в котором будет выполняться проверка введенного значения. А точнее, если конкретное значение не введено, необходимо присвоить значение по умолчанию. Я понимаю, что можно сделать 2 конструктора в одном из которых сделать два параметра, и там же присвоить значение по умолчанию.
Реализация:
Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
7
8
9
10
11
12
        public Date (int d, int m, int y)
        {
            day = d;
            month = m;
            year = y;            
        }
        public Date (int d, int m)
        {
            day = d;
            month = m;
            year = 2016;
        }
А существует ли способ создать 1 конструктор с проверкой значения вместо создания двух конструкторов?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.10.2018, 16:17
Ответы с готовыми решениями:

Проверка условия в конструкторе класса
В конструкторе класса при определённых условиях надо выйти без создания нового объекта. Подскажите...

Ошибка в конструкторе
Программа тамагочи, с временем жизни (таймер) и просьбами, обращение к которым происходит через...

Инициализировать массив в конструкторе
У меня проблема: как инициализировать массив в конструкторе? public schoolkid(int Number, int...

Инициализация массивов в конструкторе
Здравствуйте! Я делаю последнюю лабораторную и у меня ничего не получается. Возникает ошибка, что...

2
Заблокирован
11.10.2018, 16:21 2
leesavageux, используйте опциональные (необязательные) параметры для объединения двух конструкторов. Пример:
C#
1
2
3
4
static int F(int x = 1, int y = 2) // x, y - необязательные параметры, они должны идти после обязательных параметров (которых здесь нет, но в другом примере могли бы быть)
{
    return x + y;
}
1
Модератор
8264 / 5639 / 1629
Регистрация: 21.04.2018
Сообщений: 16,841
Записей в блоге: 2
11.10.2018, 16:28 3
Лучший ответ Сообщение было отмечено leesavageux как решение

Решение

Цитата Сообщение от leesavageux Посмотреть сообщение
А существует ли способ создать 1 конструктор с проверкой значения вместо создания двух конструкторов?
Для Вашего случая
C#
1
2
3
4
5
6
        public Date (int d=1, int m=1, int y=2016)
        {
            day = d;
            month = m;
            year = y;            
        }
Добавлено через 1 минуту
Любой из трёх параметров - необязателен. Если параметр не используется, то присваивается значение по умолчанию.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.10.2018, 16:28

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Инициализировать массив в конструкторе
Почему нельзя инициировать массив в конструкторе класса следующим образом marks = {1,2,3};?? Через...

Не происходят изменения в конструкторе
Не могу понять. Например, добавляю на форму кнопку, кликаю на ней два раза, попадаю в констуктор....

Счетчик в конструкторе классе
Подскажите реализацию, есть класс (бизнес-логика), нужно добавить еще одно поле которое будет...

Тяжеловесные операции в конструкторе
Подскажите пожалуйста, почему нежелательно выполнять тяжеловесные операции в конструкторе класса?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.