Как задать переменную в си шарп
Перейти к содержимому

Как задать переменную в си шарп

  • автор:

Урок #3 – Переменные и типы данных в языке C#

Урок #3 – Переменные и типы данных в языке C#

Одним из главных нюансов любого языка программирования являются переменные. В ходе урока мы изучим работу с переменными в языке C# и научимся использовать их на практике. Дополнительно мы познакомимся с типами данных для переменных.

Видеоурок

Переменные невероятно важны, так как позволяют хранить информацию и использовать её в дальнейшем. Вначале может быть не совсем понятно зачем вообще что-то записывать в переменную, если можно просто оперировать значениями без них. Понимание переменных придет немного позже, когда мы начнем создавать более сложные программы и нам потребуется хранить информацию в каком-либо месте.

Переменные

Типы переменных в языке C# указываются перед названием переменной. От конкретного типа данных будет зависеть содержимое переменной. Если мы укажем что переменная с типом данных int (целые числа), то в неё мы не сможем записать строку или число с точкой.

В ходе программы мы можем записывать новые значения в переменную, но тип данных должен оставаться неизменным:

float some_value = 2.95f; some_value = 6.9f; // Записали новое значение

Рассмотрим все типы данных для создания переменных.

Целые числа

  • byte — предназначен для хранения целых чисел. Диапазон чисел от 0 до 255, если число будет большим 255 или меньшим 0 – выдастся ошибка;
  • short — предназначен для хранения целых чисел. Диапазон чисел от -32 768 до 32 767;
  • ushort — предназначен для хранения целых положительных чисел. Диапазон чисел от 0 до 65 535;
  • int — предназначен для хранения целых чисел. Диапазон чисел от -2147483648 до 2147483647;
  • long — предназначен для хранения целых чисел. Диапазон чисел от –9 223 372 036 854 775 808 до 9 223 372 036 854 775 807.

Разница между типами заключается только в диапазоне чисел, который можно записать в переменную. Также не используйте большие типы данных по типу long, если число маленькое, так как чем больше диапазон, тем больше памяти требуется компьютеру на конкретную переменную.

Числа с точкой

  • float — для создания чисел с плавающей точкой. Диапазон чисел от от -3.4*10 38 до 3.4*10 38 ;
  • double — для создания чисел с плавающей точкой. Диапазон чисел от от ±4.9*10 -324 до ±1.8*10 308 .

Прочие типы данных

  • bool — логический тип данных. Предназначен для записи истинного (true) или ложного (false) значения;
  • char — тип данных для работы с символами. Позволяет поместить в одинарных кавычках какой-либо символ;
  • string — тип данных для текста. В двойных кавычках можно сохранить одно или множество слов.

Типы данных в языке С# в формате таблицы:

Для создания переменной необходимо указать тип данных и её название. Также можно сразу же добавить к ней значение:

int a = 0; // Добавление значения сразу byte c; // Создание переменной без значения short b, y = 342; // Создание нескольких переменных

Для вызова переменной вы можете обратиться к ней по имени. Чтобы записать данные в переменную с типом float или double необходимо после числа дописать букву f или d соответсвенно.

Весь код будет доступен после подписки на проект!

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

Переменная — именованная область памяти. Переменные в программах используются для хранения данных.

Как объявляются переменные

int age;

В этом примере мы объявили переменную age типа int , которая в качестве значения может содержать только целые числа.

Мы можем присвоить переменной значение позже следующим образом:

int age; . . . age = 24; 

Но переменную можно инициализировать и сразу при объявлении:

int age;

В этом примере мы объявляем переменную age типа int и в это же время инициализируем ее значением 24.

Мы также можем менять значения переменных. Например:

int age = 24; age = 35; 

Мы поменяли значение переменной age с 24 на 35.

Переменные в C# объявляются до их использования — это значит, что до присвоения переменной значения программа должна знать ее имя и тип. Поэтому C# называют строго типизированным языком.

Тип данных переменной после объявления нельзя изменить в пределах ее области видимости. Область видимости — это блок кода, в переменная доступна для использования. Если вы не поняли предыдущее предложение, не переживайте, об областях видимости мы расскажем в следующих главах.

Так — не получится

int age; age = 24; . . . float age; 

Неявно типизированные переменные

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

Переменные, объявленные с помощью ключевого слова var , должны быть инициализированы во время объявления.

var value = 5;

Компилятор выводит тип данных из значения, которое присваивается переменной. В примере выше value типа int . То же самое можно написать и так:

int value; value = 5;

Здесь можно узнать больше о неявно типизированных локальных переменных.

Правила именования переменных

Есть некоторые правила, которых мы должны придерживаться при именовании переменных:

  1. Имя переменной может содержать только буквы (строчные и прописные), нижнее подчеркивание _ и цифры.
  2. Имя переменной должно начинаться с буквы, нижнего подчеркивания или символа @ .
  3. C# чувствителен к регистру: age и Age — две разные переменные.
  4. Имя переменной не должно совпадать с ключевыми словами. for , if или using не могут быть именем переменной.

Имена переменных

Замечания

Допустимо. Лучший способ называния переменных для членов с модификатором private .

Допустимо. Используется, если имя — зарезервированное ключевое слово.

Недопустимо. Начинается с цифры.

Недопустимо. Содержит пробел.

Как правильно называть переменные

  1. Имя переменной должно иметь смысл. name , age , subject понятнее, чем n , a и s .
  2. Используйте camelCase со строчной буквы для локальных переменных. Например, numberOfStudents , age и т. д.
  3. Используйте PascalCase или CamelCase с прописной буквы для членов с модификатором public. Например, FirstName , Price и т.д.
  4. Используйте нижнее подчеркивание и названия в camelCase для именования членов с модификатором private. Например, _bankBalance , _emailAddress и т.д.

СodeСhick.io — простой и эффективный способ изучения программирования.

2023 © ООО «Алгоритмы и практика»

Урок по C# №4:Переменные и типы данных. Часть 2

В прошлом уроке вы познакомились с переменными и поняли, что в программировании без них никак. C# -строго типизированный язык, а это значит, что мало объявить переменную –нужно соотнести ее с подходящим типом. А вот теперь обратите внимание – в C# типы данных разделяются на две отличных друг от друга группы. Одна группа включает в себя так называемые типы-значения (value types). Фактически, это обычные примитивные типы данных, которые есть в любом сиподобном языке. Ниже я приведу список этих типов с кратким описанием. Я не буду загружать вас дипазонами значений этих типов – всегда можно посмотреть это, написав простенькую программку для этого. Итак, вот основные базовые типы языка C#:

  • char – символьный тип. Предназначен для хранения любых символов в вашей программе.
  • bool— логический тип. Может принимать либо true, либо fasle. Переменная, объявленная этим типом будет иметь по-умолчанию true
  • byte – байт он, как говорится, и в Африке байт. Это означает, что в него может влезть всего число 0 до 255. Почему 255? Все просто – один байт равен 8 битам. А 2 в степени 8 равно 256. Но у нас есть 0, поэтому предельное число будет 255. Этот тип применяется тогда, когда нужно хранить небольшое значение, например, возраст. Учтите, что если вздумаете присвоить переменной этого типа значение больше 255, то компилятор выдаст ошибку. Кроме того, тип byte является беззнаковым – то есть, он может хранить только положительные числа.
  • sbyte – это тот же byte, но только переменная этого типа может иметь отрицательное значение. В этом случае диапазон значений будет лежать от -128 до 127
  • int – это тип данных, котором можно хранить только целые числа. Это самый основной тип для манипуляций с целыми числами. Обычно его хватает для большинства задач. Однако изредка может понадобиться хранить очень большое значение или наоборот, маленькое (хотя для маленьких чисел можно также смело ставить тип int). Поэтому тип int разделяется на свои подвиды:
  • short – короткое целое число.
  • ushort – тоже самое, только без знака.
  • long –длинное целое, предназначенное для хранения больших чисел. Больше него только тип decimal. Запомните важную вещь – компилятору нужно указывать принадлежность переменной к данному типу суффиксомL илиl. Например, long a=78485994L . Иначе компилятор посчитает переменную типом int.
  • ulong – только положительные числа long
  • uint –только положительные числа int
  • decimal – хранит ну очень большие целые числа. Самое оно для финансовых программ!
  • float – содержит дробные числа (так называемые вещественные числа или числа с плавающей точкой) . Подобно типу long требует указание суффикса f .Например, float floatvalue = 34.6f
  • double – вещественные числа с двойной точностью после знака запятой. По-умолчанию, это основной тип для всех дробных чисел.
  • string – строка. Тут, я думаю, все понятно.

Кроме того, к значимым типам относятся также следующие типы, определяемые пользователем. Это:

  • enum – перечисления. О них поговорим в других уроках.
  • struct – структуры. Изучим их значительно позже.

В противовес значимым типам в C# была введена вторая группа типов – это ссылочные типы. К ним относятся классы, о которых мы поговорим значительно позже. Почему были введены такие группы? Если думаете, что все это для того, чтобы запутать программиста, то вы ошибаетесь. Дело в том, что тип данных напрямую влияет на производительность вашего кода. Причина этого явления заключается в том, что переменные этих типов данных размещаются в разных областях памяти — в так называемой куче (это вся ваша оперативная память) лежат классы, а в быстрой стековой памяти лежат небольшие по своим размерам типы-значения. Это очень удачных подход, так как работа со стеком очень быстрая. Однако стек имеет очень подлое свойство – он ограничен в своих размерах. Поэтому переменные типов-значений занимают мало памяти иначе просто произойдет переполнение стека, а это не очень приятная вещь. Чтобы этого не случилось, для переменных, занимающих много памяти (это как раз объекты ваших классов) выделяется место в куче. Единственный неприятный момент подобного подхода – переменную гораздо быстрее достать из стека, нежели из кучи. Поэтому в C# был принят подход, в котором в стеке хранится ссылка на область кучи. Это ускоряет работу. Итак, вы уже знаете основные типы данных. Теперь, давайте рассмотрим как объявляются переменные. Синтаксис предельно прост: тип_переменной имя_переменной ; Учтите, что можно объявить сразу несколько переменных одного типа в одной декларации:

int a,b,c,d;

Все четыре переменных будут иметь тип int. Кроме того, в C# допускается присвоение переменной значения сразу же при объявлении:

int a=34, b=12;

C# поддерживает Unicode, а это означает, что можно объявлять имена переменных русскими буквами:

int Первое_число=34;

Но так делать обычно не рекомендуется, хотя сейчас я часто вижу такой подход. Об этом подходе мы поговорим ниже.

Как видите, все просто. А теперь давайте рассмотрим случай, который все больше набирает обороты в российских айти-компаниях.

Помните оператор using? С помощью него мы подключали пространства имен. Однако это не все, что он умеет. Дело в том, что с помощью using можно создавать псевдонимы всех типов. Давайте в качестве примера создадим проект, в котором мы сделаем русские аналоги встроенных типов.

Создайте консольный проект в Visual Studio или Sharp Developer. Назовите его lesson 2 и добавьте в код следующие строки:

using целое=System.Int32; // псевдоним int using дробь=System.Double; //псевдоним double using строка=System.String; //строка using символ=System.Char;

Теперь в коде можно использовать наши псевдонимы вместо англоязычных определений. Посмотрите, например, такой код:

using System; using целое=System.Int32; // псевдоним int using дробь=System.Double; //псевдоним double using строка=System.String; //строка using символ=System.Char; using Консоль=System.Console; //псевдоним класса Console namespace Типы_данных < class Program < public static void Main(string[] args) < строка Имя="Андрей"; Консоль.WriteLine ("Как дела, " + Имя + "?"); целое число1=34; дробь число2=12.3; Console.Write("Нажмите клавишу для выхода . . . "); Console.ReadKey(true); >> >

Занятно выглядит, не так ли? Фактически, можно так «русифицировать» буквально все. Но я не приветствую данный подход. В любом случае, поэкспериментируйте. А пока на этом урок окончен.

  1. Урок по C# № 3: «Переменные и типы данных. Часть 1»
  2. Урок 2: «Укрощение переменных»

Объявление переменных в C#: Подробная инструкция

Объявление переменных в C# — один из фундаментальных навыков, необходимых для программирования. Понимание этого процесса помогает в формировании основ программирования на C#. В этой статье мы познакомим вас с основами объявления переменных, используя простые объяснения и ясные примеры.

Что такое переменная?

В программировании переменная используется для хранения данных. Можно представить её как контейнер или ячейку памяти, где мы можем хранить информацию. Например, если мы создаём программу для калькулятора, нам потребуются переменные для сохранения введённых чисел и результатов вычислений.

Как объявить переменную в C

В C# переменная объявляется с указанием типа данных, за которым следует имя переменной:

тип_данных имя_переменной; 

Типы данных

В C# существует множество типов данных, но для начала рассмотрим несколько основных:

  1. int — для целых чисел (например, 1, 42, -5).
  2. double — для чисел с плавающей точкой (например, 3.14, -0.001).
  3. char — для отдельных символов (например, ‘a’, ‘Z’, ‘3’).
  4. string — для текста (например, «Привет, мир!»).
  5. bool — для логических значений (true или false).
Примеры объявления переменных
int myNumber; double myDouble; char myCharacter; string myString; bool myBoolean; 

Инициализация переменных

Объявление переменной — это только начало. Чтобы использовать переменную, её необходимо инициализировать, т.е. присвоить ей начальное значение:

int myNumber = 10; double myDouble = 3.14; char myCharacter = 'A'; string myString = "Привет, мир!"; bool myBoolean = true; 

Присваивание значения переменной

После объявления переменной её значение можно изменить:

myNumber = 20; // Теперь myNumber равно 20 

Нюансы объявления переменных

  1. Именование переменных: Имя переменной должно быть понятным и отражать её содержимое. Например, имя числоКлиентов гораздо лучше, чем просто ч .
  2. Область видимости: Область видимости переменной ограничена блоком кода, в котором она объявлена. Например, переменная, объявленная внутри метода, недоступна за его пределами.
  3. Начальное значение: Если переменной при объявлении не присвоено значение, она получает значение по умолчанию (например, 0 для int , false для bool ).

Читайте так же Работа с классами в C#: 6 примеров

Таблица с типами данных и примерами

Тип данных Описание Примеры значений
int Целые числа 1, -3, 45
double Числа с плавающей точкой 3.14, -0.001
char Отдельные символы ‘a’, ‘Z’, ‘3’
string Текстовые строки «Привет», «Hello, world!»
bool Логические значения (истина/ложь) true, false

Примеры использования

Пример 1: Простое объявление и инициализация

int age = 25; double temperature = 36.6; char grade = 'A'; string name = "Иван"; bool isRaining = false; 

Пример 2: Изменение значения переменной

int apples = 5; apples = 7; // Теперь в переменной apples хранится значение 7 

Использование переменных в выражениях

Переменные можно использовать в математических и логических выражениях. Это позволяет не только хранить значения, но и проводить с ними различные операции.

Примеры:
int x = 5; int y = 10; int sum = x + y; // sum будет равно 15 bool isFirstGreater = x > y; // isFirstGreater будет false 

Статическая и динамическая типизация

C# — язык со статической типизацией, что означает необходимость объявлять тип переменной на этапе компиляции. В отличие от языков с динамической типизацией (например, Python), где тип переменной определяется автоматически во время выполнения программы, в C# тип должен быть указан явно.

Пример:
int number = 5; // Статическая типизация: тип int указывается явно 

Работа с разными типами данных

Разные типы данных в C# имеют свои особенности. Например, работая со строками, можно использовать различные методы для их обработки:

string greeting = "Привет, "; string name = "Анна"; string welcomeMessage = greeting + name; // Конкатенация строк 

Преобразование типов

Иногда возникает необходимость преобразовать переменную одного типа в другой. В C# это можно сделать несколькими способами:

    Неявное преобразование: автоматически, когда нет риска потери данных.

int myInt = 123; double myDouble = myInt; // Неявное преобразование из int в double 
double myDouble = 123.4; int myInt = (int)myDouble; // Явное преобразование из double в int 
string numberAsString = "123"; int number = int.Parse(numberAsString); // Преобразование строки в число 

Работа с Nullable типами

В C# переменные обычных типов данных, таких как int , double и т.д., не могут принимать значение null . Однако, иногда возникает необходимость обрабатывать отсутствие значения. Для этого используются Nullable-типы, которые обозначаются символом ? после типа данных.

int? nullableInt = null; if (nullableInt.HasValue) < Console.WriteLine("У переменной есть значение."); > else < Console.WriteLine("Переменная равна null."); > 

Заключение

Объявление и использование переменных — ключевые навыки в C#. Освоив основы работы с разными типами данных, их инициализацию, преобразование и использование в выражениях, вы значительно усилите свои навыки в программировании на C#. Помните, что чистота кода, включая правильное именование переменных и управление их областью видимости, играет важную роль в создании читаемого, поддерживаемого и эффективного кода.

Читайте так же Конструкторы и Деструкторы в C#: Простое объяснение с примерами

Надеюсь, эта статья помогла вам лучше понять, как работать с переменными в C#. Продолжайте изучение и экспериментируйте с кодом, чтобы углубить свои знания и навыки!

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *