Языки программирования

Типы данных в C#

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

bool

Bool хранит значение true или false (логические литералы). Представлен системным типом System.Boolean.
bool alivel = true;
bool Deads = false;

byte

Byte хранит целое число от 0 до 255 и занимает 1 байт. Представлен системным типом System.Byte.
byte bit1 = 1;
byte bit2 = 102;

sbyte

Sbyte хранит целое число от -128 до 127 и занимает 1 байт. Представлен системным типом System.SByte.
sbyte bit1 = -101;
sbyte bit2 = 102;

short

Short хранит целое число от -32768 до 32767 и занимает 2 байта. Представлен системным типом System.Int16.
short n1 = 1;
short n2 = 105;

ushort

Ushort хранит целое число от 0 до 65535 и занимает 2 байта. Представлен системным типом System.UInt16.
ushort n1 = 1;
ushort n2 = 105;

int

int хранит целое число от -2147483648 до 2147483647 и занимает 4 байта. Представлен системным типом System.Int32. Все целочисленные литералы по умолчанию представляют значения типа int:
int a = 20;
int b = 0b101;  // бинарная форма b = 5
int c = 0xFF;   // шестнадцатеричная форма c = 255

uint

uint хранит целое число от 0 до 4294967295 и занимает 4 байта. Представлен системным типом System.UInt32.
uint a = 20;
uint b = 0b101;
uint c = 0xFF;

long

long хранит целое число от –9 223 372 036 854 775 808 до 9 223 372 036 854 775 807 и занимает 8 байт. Представлен системным типом System.Int64.
long a = -25;
long b = 0b101;
long c = 0xFF;

ulong

ulong хранит целое число от 0 до 18 446 744 073 709 551 615 и занимает 8 байт. Представлен системным типом System.UInt64.
ulong a = 20;
ulong b = 0b101;
ulong c = 0xFF;

float

float хранит число с плавающей точкой от -3.4*1038 до 3.4*1038 и занимает 4 байта. Представлен системным типом System.Single.
По умолчанию фактический численный литерал в правой части оператора назначения обрабатывается как тип double. Следовательно, для инициализации переменной типа с плавающей точкой нужно использовать суффикс f или F:
float x = 4.5F;

double

double хранит число с плавающей точкой от ±5.0*10-324 до ±1.7*10308 и занимает 8 байтов. Представлен системным типом System.Double. Если необходимо, чтобы целое число обрабатывалось как тип double, следует использовать суффикс d или D:
double x = 4D;

decimal

decimal хранит десятичное дробное число. Если употребляется без десятичной запятой, имеет значение от 0 до +/–79 228 162 514 264 337 593 543 950 335; если с запятой, то от 0 до +/–7,9228162514264337593543950335 с 28 разрядами после запятой и занимает 16 байт.
Представлен системным типом System.Decimal. Если требуется, чтобы числовой действительный литерал рассматривался как decimal, следует использовать суффикс m или M:
decimal myMoney = 300.5m;

char

Char хранит одиночный символ в кодировке Unicode и занимает 2 байта. Представлен системным типом System.Char. Этому типу соответствуют символьные литералы:
char a = 'A';
char b = '\x5A';
char c = '\u0420';

string

String хранит набор символов Unicode. Представлен системным типом System.String. Этому типу соответствуют символьные литералы:
string hello = "Hello";
string word = "Max";

object

Object может хранить значение любого типа данных и занимает 4 байта на 32-разрядной платформе и 8 байт на 64-разрядной платформе. Представлен системным типом System.Object, который является базовым для всех других типов и классов .NET.
object a = 22;
object b = 3.14;
object c = "hello code";
Для примера, определим несколько переменных разных типов и выведем их значения на консоль:
using System;
 
namespace HelloWorldApp
{
    class Program
    {
        static void Main(string[] args)
        {
            string name = "Max";
            int age = 18;
            bool Employed = false;
            double weight = 94.69;
             
            Console.WriteLine($"Имя: {name}");
            Console.WriteLine($"Возраст: {age}");
            Console.WriteLine($"Вес: {weight}");
            Console.WriteLine($"Работает: {Employed}");
        }
    }
}
Для вывода данных на консоль здесь применяется интерполяция: перед строкой ставится знак $ и после этого можно вводить в строку в фигурных скобках значения переменных.
Самоучитель по C#