06. Переменные (C# для новичков)

Чтобы лучше понять что такое переменные, вы можете пройти по ссылке, но даже если вы решитесь на этот смелый шаг, сначала прочитайте моё «деревенское» описание, так как в Википедии всё может оказаться слишком мудрёно для наших «неокрепших» умов.

Переменная это «нечто» позволяющее нам хранить и изменять данные любого типа. Данные занесённые в переменную хранятся в оперативной памяти и доступны нам в зависимости от контекста (потерпите немного, скоро все контексты-шмантексты прояснятся). Если вспомните самый первый урок, там мы использовали вот такой оборот: {возраст}. Мы попросили пользователя ввести его возраст и записали его в переменную, чтобы в дальнейшем получить из неё данные.

Давайте попробуем реализовать пример из первого урока в коде. Для этого создайте новый солюшен и проект (Console  Application). Как правильно создавать проекты мы проходили в прошлом уроке. У меня получилась вот такая структура:

  • SharpForBeginners
    • SharpForBeginners.Lesson6

Вообще в дальнейшем я буду добавлять все проекты в этот солюшен таким же образом. Так же вы сможете скачать все проекты вот тут. Но вернёмся к нашим помидорам переменным. Уже в знакомом нам файле «Program.cs» и всё в том же месте как и в прошлом уроке мы напишем следующий код:

Первая и последняя строчки кода нам уже должны быть понятны — в первой мы печатаем сообщение на экран с вопросом «Сколько тебе лет?», а в последней ждём ввода пользователя чтобы окно не закрывалось. Но если посмотреть на вторую строчку, мы увидим что перед уже знакомым нам кодом «Console.ReadLine()» есть ещё какой то код.

Это называется объявление и инициализация переменной. Дело в том, что функция «ReadLine» (о функциях поговорим позже) возвращает нам значение (данные) типа string (в следующем уроке я расскажу о типах переменных). Слева от знакомого нам кода стоят два слова и знак равенства. Первое слово «string» объявляет тип переменной, второе слово «age» — название переменной, а знак равенства говорит о том, что значение получаемое из кода справа от знака должно быть занесено в переменную слева от знака. Таким образом, текст который введёт пользователь будет занесён в переменную age и мы сможем обратиться к ней (переменной) в дальнейшем.

Название переменной может быть любым. Вы можете быть особо хитрым и назвать свою переменную «vozrast», но за такие замашки ваши будущие коллеги могут сломать вам нос или того хуже плюнуть в кофе (да спасёт нас макаронный монстр от такого горя). О конвенциях написания названий переменных (и не только) будет отдельная статья.

Следующая строка кода тоже должна быть знакома, но после текста в кавычках стоит знак сложения и наша переменная. Не сложно догадаться что здесь происходит, но для непонятливых среди нас поясню. Знак сложения в языке C# (да и в других языках, но не во всех) выполняет разные функции в зависимости от контекста. Когда мы берём два текста (не забывайте, что внутри нашей переменной хранится именно текст. И да, если выражаться правильным языком, то не два текста, а две строки) и складываем их, мы получаем соединённую строку. Одну. Если выполнить вот такой код:

Значение переменной text будет «Я у мамыочень умный». В результате из двух строк получилась одна, но два слова слились в одно. Чтобы этого избежать, нам нужно поставить знак пробела после слова «мамы» или перед словом «очень». Ну или добавить ещё один «текст». Вот три примера:

На самом деле, в реальности складывать переменные типа string символом сложения — это моветон. Так делать не следует по ряду причин. Во первых код становится менее читаемым, а во вторых такой код более затратный в плане ресурсов компьютера. Конечно же нам не грозит полный зависон операционной системы от того что мы сложили десяток, тысячу, миллион или даже миллиард строк, и большинство из вас, даже выучившись и начав программировать на полную ставку не столкнётся с утечкой ресурсов из за такого, казалось бы пустяка. Но при разработке программы важно учитывать любую возможную оптимизацию, тем более когда эта оптимизация ещё и делает код более читаемым. Однако всё по порядку и как правильно складывать строки мы узнаем в дальнейших уроках.

Запустите программу и проверьте что всё работает как надо. У вас должно открыться чёрное, консольное окно, которое спросит вас о вашем возрасте. После того как вы введёте ответ и нажмёте «Enter», вы увидите сообщение о том сколько вам лет. Очень ценная информация (особенно учитывая что вы её только что ввели сами).

В нашем примере, инициализация и объявление переменной было в одной строке. Давайте посмотрим как мы можем сделать это иначе:

Здесь в первой строке мы объявляем переменную типа string с именем age.  На данном этапе программа знает о существовании этой переменной, но значение её будет значением по умолчанию (у каждого типа переменных свои значения по умолчанию, но об этом позже). Это называется объявлением переменной.

В третьей строке мы уже не используем ключевое слово string, потому что переменная уже объявлена и мы можем обращаться к ней «по имени». Здесь происходит инициализация, а именно — присвоение значения уже объявленной переменной. При запуске программы результат не изменится. Так зачем же нам писать больше кода, если результат один и тот же? — И об этом мы тоже поговорим позже.

Я понимаю что в данном уроке я «наоткладывал на потом» очень многое. Дело в том, что я считаю, что информацию следует воспринимать маленькими порциями и не пытаться охватить всё сразу. Именно поэтому я не рассказываю о том что же это за фигурные скобки, что означает текст «static void Main(string[] args)» и почему после одних строк кода есть точка с запятой, а после других нет. Всё это я постараюсь разжевать максимально подробно в последующих уроках.

Поделитесь с друзьями:

Опубликовано migs

Добавить комментарий