Переменные,типы данных, константы в Си-шарп

Пишем первую программу на Си-шарп

В программировании есть такая традиция – изучение любого языка начинается с написания программы, которая выводит на экран сообщение «Hello, World!». Мы не будем отступать от традиций.

Запускаем Microsoft Visual C# 2013 Express -> Меню -> Файл -> Новый проект -> В списке выбираем Console Application (Консольное приложение) -> называем проект и жмем ОК. В итоге будет создан проект с одним файлом с расширением *.cs в котором мы и будем писать нашу программу. В этом файле уже есть несколько шаблонных строк кода.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace HelloWorld
{
  class Program
  {
   static void Main(string[] args)
   {
   }
  }
}


И это уже готовая программа, только она не делает ничего.
Добавим несколько строк кода между фигурными скобками функции Main, чтобы вывести «Hello, World!» на экран.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace HelloWorld
{
  class Program
  {
   static void Main(string[] args)
   {
      Console.WriteLine("Hello, World!");
       Console.ReadKey();
   }
  }
}


Чтобы скомпилировать и запустить программу жмем F5. В итоге, видим на экране наше приветствие. Поздравляю с первой написанной программой на Си-шарп!
Детально код разбирать пока не будем, скажем только, что мы имеем класс Program, внутри которого объявлена статическая функция (метод) Main, что делает его главным классом приложения, и такой класс может быть только один. Функция Main является точкой входа программы, и она должна обязательно быть в любой консольной программе. Строка Console.WriteLine("Hello, World!"); выводит сообщение на экран. После этого, чтобы программа не закрылась, и мы смогли увидеть результат, командой Console.ReadKey(); мы ожидаем нажатия клавиши пользователем. После нажатия клавиши приложение соответственно закрывается.

На этом первый урок окончен, вперед ко второму!

Переменные,типы данных, константы в Си-шарп

Переменная – это именованная область памяти. В переменную можно записывать данные и считывать. Данные, записанные в переменной, называются значениемпеременной.

Си-шарп – язык жесткой типизации. Каждая переменная должна быть определенного типа данных. Ниже, в таблице наведены встроенные типы данных языка Си-шарп:

Тип Область значений Размер
     
sbyte -128 до 127 Знаковое 8-бит целое
     
byte 0 до 255 Беззнаковое 8-бит целое
     
char U+0000 до U+ffff 16-битовый символ Unicode
     
bool true или false 1 байт*
     
short -32768 до 32767 Знаковое 16-бит целое
     
ushort 0 до 65535 Беззнаковое 16-бит целое
     
int -2147483648 до 2147483647 Знаковое 32-бит целое
     
uint 0 до 4294967295 Беззнаковое 32-бит целое
     
long -9223372036854775808 до 9223372036854775807 Знаковое 64-бит целое
     
ulong 0 до 18446744073709551615 Беззнаковое 64-бит целое
     
float ±1,5*10-45 до ±3,4*1033 4 байта, точность — 7 разрядов
     
double ±5*10-324 до ±1,7*10306 8 байтов, точность — 16 разрядов
     
decimal (-7,9 * 1028 до 7,9 * 1028) / (100–28) 16 байт, точность — 28 разрядов
     

*Здесь нет ошибки. Оперативная память - массив байтов, где каждый байт имеет уникальный адрес. Для bool достаточно одного бита: 0 - false, 1 - true, но минимальная адресуемая сущность - байт, поэтому ненулевой байт считается за истину, нулевой - ложью.

Для того, чтобы использовать переменную, ее сначала нужно объявить:

static void Main(string[] args)
{
int a; // объявляем переменную a типа int
a = 5; // записываем в переменную a число 5
int b, c; // объявить можно сразу несколько переменных через запятую
bool d; // объявляем переменную d типа bool
d = true; // записываем в переменную d значение true (истина)
long e = 10; // при объявлении переменной можно сразу же задавать ей значение, это называется инициализацией
float f = 5.5f; // чтобы записать число с плавающей точкой типа float, нужно после значения добавлять суффикс f.
char g = 'g'; // объявление символьной переменой g с ее инициализацией значением символа 'g'
}


При использовании переменной, в которую не было записано значение, компилятор выдаст ошибку "Use of unassigned local variable [variableName]".

static void Main(string[] args)
{
int a;
Console.WriteLine(a); //ошибка
}


Язык Си-шарп чувствительный к регистру символов. Переменные max и Max это не одно и то же. Не забывайте этого, чтобы не иметь лишних проблем.

Имя переменной должно отображать суть данных, которые она отображает. Не стоит называть переменные ни о чем не говорящими именами типа a, b, c. Используйте английские слова. Высота – height, возраст – age и т. д.

НИКОГДА не используйте кириллические символы в именах переменных.

Наши рекомендации