Найти тему
SharpNinja

Переменные в С#

Оглавление

В этой статье вы узнаете, как объявлять и инициализировать переменные.

Переменная в С# похожа на коробочку. В коробочках разного типа и размера можно хранить подходящие данные. Термин переменная в программирование пришел из математики.

В С# типы данных делятся на значимые и ссылочные. Разница в том, в каком месте памяти компьютера хранятся типы. Значимые типы занимают место в стэке. А ссылочные в куче. Память мы затронем в следующей статье.

Объявление переменной

Для объявления переменной нам нужно задать тип, имя и значение.
Для объявления переменной нам нужно задать тип, имя и значение.

int - это значимый тип переменной. Переменная этого типа хранит в себе целое число в определенном диапазоне. Число может быть отрицательным и положительным. Мы говорим компилятору, чтобы он выделил место в памяти компьютера под тип int и назначаем этой области имя number. Это действие похоже на упаковку подарков для наших близких. Где каждому подарку мы оставляем ярлычок с именем того, кому он предназначен.

Оператор = присваивает число к нашей переменной. Он так и называется “оператор присваивания”. Мы прямо говорим:”Присвой переменной то, что стоит справа от оператора”. Теперь коробочка хранит в себе значение и мы можем вывести его на экран.

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

-3

Здесь мы инициализируем две переменные типа string, который хранит в себе строку в двойных кавычках. Далее мы присваиваем переменной color значение newColor. Теперь в переменной color хранится новая информация.

Коробочки бывают разных размеров и предназначены для хранения разных типов. Поэтому важно знать и уметь их правильно применять

C# и компилятор не позволяют нам хранить не подходящие по объявленному типу значения в переменных. Вы не сможете в строке сохранить целое число и наоборот.

Ошибка. Переменная строкового типа не может хранить в себе целое число.
Ошибка. Переменная строкового типа не может хранить в себе целое число.

Однако, мы можем преобразовывать переменные одного типа в другой для хранения значений. Тип byte является коробочкой меньшего размера, чем тип int. Поэтому он не способен хранить в себе переменную большего типа, чем он сам. Благодаря явному преобразованию мы говорим компилятору:"Преобразуй значение переменной number в тип byte" указывая необходимый тип в скобочках.

Явное преобразование переменной одного типа в другой.
Явное преобразование переменной одного типа в другой.

Неявный тип var

Поэтому язык С# является строго типизированным.
Поэтому язык С# является строго типизированным.

var - позволяет не задавать тип переменной. Компилятор понимает какого типа переменная по значению справа. Но мы не можем просто объявить переменную типа var. Компилятор выдаст ошибку и потребует ее инициализировать, иначе он не узнает, какое количество памяти нужно выделить под переменную.

-7

В .Net есть множество разных типов. Можно хранить символы, байты, огромные числа, как отрицательные так и положительные. Есть типы с плавающей запятой и типы с логическими значениями - правда или ложь. А так же, мы можем оставить право за компилятором автоматически определять тип переменной.

#.net #программирование для начинающих