Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
-3 / 1 / 0
Регистрация: 21.09.2014
Сообщений: 64
1

Зачем переменной задавать значение при объявлении?

07.04.2015, 19:30. Просмотров 1115. Ответов 9
Метки нет (Все метки)

Всем добрый вечер! Хотелось бы у Вас спросить, дело такое: я пишу векторный редактор, и мне необходима ваша помощь, вот в этой строчке:
C#
1
bool drawRectangle = false;
Как я понял это ставится значение по умолчанию переменной, которую мы в дальнейшем будем использовать для рисования прямоугольника... А зачем ставить значение по умолчанию?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.04.2015, 19:30
Ответы с готовыми решениями:

Можно ли присвоить значение переменной при ее объявлении
Доброго дня всем Имеется общая строковая переменная, в которой должен хранится путь к активной...

Изменяется ли адрес или значение переменной при объявлении ее как const?
При объявлении const у нас значение переменной или адрес переменной не изменяется?

Зачем вызывается конструктор при объявлении указателя на класс
Не знаю, правильно или нет назвал тему... Вот такая ситуация понятна: int * pHeap = new int;...

Как с помощью горизонтальной полосы прокрутки задавать значение переменной?
Как с помощью горизонтальной полосы прокрутки задавать значение переменной? Я так понимаю, что...

9
40 / 40 / 13
Регистрация: 09.07.2014
Сообщений: 116
07.04.2015, 19:53 2
некоторые типы значимых переменных нельзя использовать без явной инициализации, к типу bool на сколько помню это не относится, он по умолчанию и так является ложным и такое объявление избыточно.
0
-3 / 1 / 0
Регистрация: 21.09.2014
Сообщений: 64
07.04.2015, 19:55  [ТС] 3
т.е. как я вас понял, мне можно не делать по умолчанию все эти строчки:
C#
1
2
3
4
5
6
7
8
9
10
int? initX = null;
int? initY = null;
 
int? StartX = null;
int? StartY = null;
        
int? OldX = null;
int? OldY = null;
bool drawRectangle = false;
Color DefaultColor;
но мне кажется что координаты все же нужно оставить как null, нет?
0
40 / 40 / 13
Регистрация: 09.07.2014
Сообщений: 116
07.04.2015, 20:11 4
На сколько я помню они сразу становятся равны null по умолчанию. То есть такая инициализация тоже избыточна.
0
Модератор
Эксперт .NET
5294 / 4089 / 1182
Регистрация: 12.10.2013
Сообщений: 11,894
Записей в блоге: 2
07.04.2015, 21:16 5
Цитата Сообщение от Tirenta Посмотреть сообщение
некоторые типы значимых переменных нельзя использовать без явной инициализации
Многое зависит от того, что за переменные.
1. Поля класса - инициализируются при создании экземпляра объекта значениями по умолчанию. Компилятор может выдать предупреждение, но код скомпилируется.
2. Переменные метода - использование неинициализированных переменных не разрешается, код не скомпилируется (исключение - параметры с ключевым словом out).
0
-3 / 1 / 0
Регистрация: 21.09.2014
Сообщений: 64
07.04.2015, 22:08  [ТС] 6
а если рассматривать с той точки зрения, что мы эти координаты устанавливаем как null, т.е. (0;0), т.к. ничего изначально не нажималось, а потом по ходу выполнения программы, когда я нарисую прямоугольник допустим, эти значения займут те, где будет он расположен, тогда нам нужны все же будут эти null?
0
1655 / 995 / 369
Регистрация: 13.06.2013
Сообщений: 3,403
07.04.2015, 22:26 7
Цитата Сообщение от Taylor Gang Посмотреть сообщение
устанавливаем как null, т.е. (0;0)
null и 0 разные вещи. Лично мне ни разу не приходил присваивать переменным null.
0
-3 / 1 / 0
Регистрация: 21.09.2014
Сообщений: 64
07.04.2015, 23:19  [ТС] 8
я понимаю, что это разные вещи, но мне просто интересно эти строки важны или в принципе нет?
0
2133 / 1270 / 516
Регистрация: 04.03.2014
Сообщений: 4,092
07.04.2015, 23:32 9
Цитата Сообщение от tarasalk Посмотреть сообщение
Лично мне ни разу не приходил присваивать переменным null.
что даже null возвращать из метода не приходилось?

Цитата Сообщение от Taylor Gang Посмотреть сообщение
я понимаю, что это разные вещи, но мне просто интересно эти строки важны или в принципе нет?
кто это может знать кроме автора кода?

Добавлено через 4 минуты
Цитата Сообщение от insite2012 Посмотреть сообщение
исключение - параметры с ключевым словом out
почему исключение, правила все теже, в методе мы сперва должны присвоить значение переменной, а потом только использовать.
или ты имел ввиду передачу неинициализированных переменных в метод с out в вызывающем методе ? так это по сути только передача, а не использование
0
Модератор
Эксперт .NET
5294 / 4089 / 1182
Регистрация: 12.10.2013
Сообщений: 11,894
Записей в блоге: 2
08.04.2015, 06:18 10
Цитата Сообщение от Metall_Version Посмотреть сообщение
ты имел ввиду передачу неинициализированных переменных в метод с out в вызывающем методе ?
Именно так)))
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.04.2015, 06:18

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

Ошибка при объявлении переменной
В чем разница?

Ошибка при объявлении переменной
Кто-нибудь может подсказать, в чем здесь проблема ? Есть запрос: DECLARE ...

Инициализация переменной при объявлении
Здравствуйте! Есть 2 примера кода. 1-й: int a; int main() { a = 5; printf("%d",...

Что значит * при объявлении переменной?
Пытаюсь разобраться в коде, предоставленном сторонними разработчиками в качестве примера. ...


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

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

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