Встроенные типы С# и системные типы

Простой тип С# Системный тип Диапазон значений Описание типа
sbyte SByte -128 .. +127 Целое число со знаком, занимает 1 байт
byte Byte 0 .. 255 Целое число без знака, занимает 1 байт
short Int16 -32 768 .. 32 767 Короткое 16 битовое целое число со знаком, занимает 2 байта
ushort UInt16 0 .. 65 535 Короткое 16 битовое целое число без знака, занимает 2 байта
int Int32 -2 147 483 648 .. 2 147 483 647 Целое 32 битовое число со знаком, занимает 4 байта
uint UInt32 0 .. 4 294 967 295 Целое 32 битовое число без знака, занимает 4 байта
long Int64 9 223 372 036 854 775 808 .. 9 223 372 036 854 775 807 Длинное целое 64-битовое число со знаком, занимает 8 байт
ulong UInt64 0 .. 18 446 744 073 709 551 615 Длинное целое 64-битовое число без знака, занимает 8 байт
char Char Код символа Один 16 битовый символ (расширенная таблица кодов символов Unicode), занимает 2 байта
float Single -3.40282e-038…3.40282e+038 Вещественное 32-битовое число одинарной точности с плавающей запятой, занимает 4 байта
double Double -1.79769e-308…1.79769e+308 Вещественное 64-битовое число двойной точности с плавающей запятой, занимает 8 байт
bool Boolean true или false Логические данные
decimal Decimal 1Е-28 –7.9Е+28 128-рзрядный тип данных с точностью до 28 или 29 знака. Используется главным образом в финансовых приложениях, для которых требуется высокая точность.
string String Ограничено системной памятью Строка символов Unicode
object Object Практически всё что угодно. Все типы происходят от класса System.Object.

У всех встроенных типов есть значение по умолчанию (0-для числовых, false- для bool, null – для string, object), но в методах классов переменные нужно инициализировать.

Пространства имен

Пространства имен(namespaces) используются в С#-приложениях для определения области видимости. Объявив пространство имен, разработчик может дать С#-приложению иерархическую структуру, основанную на семантически связанных группах типов и других (вложенных) пространствах имен. В формировании одного пространства имен могут участвовать несколько файлов исходного кода. Это обстоятельство позволяет при компоновке единого пространства имен из нескольких классов определять каждый класс в собственном файле исходного кода. Программист, использующий созданные вами классы, получит доступ ко всем классам в пространстве имен через ключевое слово using.

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

Синтаксис описания пространства имен следующий:

namespace <имя пространства имен> {

[<компоненты пространства имен>]

}

Компонентами пространства имен могут быть классы, делегаты, перечисления, структуры и другие пространства имен. Само пространство имен может быть вложено только в другое пространство имен.

Если в разных местах программы (возможно, в разных входных файлах) определены несколько пространств имен с одинаковыми именами, компилятор собирает компоненты из этих пространств в общее пространство имен. Для этого только необходимо, чтобы одноименные пространства имен находились на одном уровне вложенности в иерархии пространств имен.

Для доступа к компонентам пространства имен используется синтаксис <имя пространства имен>.<имя компонента>. Для компилируемых входных файлов имя пространства имен по умолчанию (если в файле нет обрамляющего пространства имен) можно задать специальной опцией компилятора.

Для использования в программе некоего пространства имен служит команда using. Ее синтаксис следующий:

using <имя пространства имен>;

или

using [<имя псевдонима> =] <имя пространства>[.<имя типа>];

Импортирование пространства имен позволяет сократить трудозатраты программиста при наборе текстов программ. Псевдоним, используемый при импортировании, это обычно короткий идентификатор для ссылки на пространство имен (или элемент из пространства имен) в тексте программы. Импортировать можно пространства имен из текущего проекта, а также из подключенных к проекту сборок.

9. Операции ввода и вывода. Чтение строки сим­волов. Преобразование строки символов в число. Формат вывода.

1.1. Операции ввода и вывода. Чтение строки сим­волов. Преобразование строки символов в число, метод Parse(). Формат вывода

Пространство имён System включает в себя класс Console, в котором содержатся методы, необходимые для чтения с клавиатуры и вывода данных на экран. Это методы: Console.ReadLine(), Console.Read(), Console.WriteLine(), Console.Write()

Метод Console.ReadLine() позволяет выполнять чтение данных с клавиатуры. Полученные данные могут быть сохранены в строковой переменной (тип string).

Метод Console.WriteLine() служит для вывода информации с новой строки. Метод Console.Write() служит для вывода информации в текущей строке. В этих методах можно использовать строковые литералы (в двойных кавычках) в качестве поясняющего текста, а также подстановочные выражения или параметры {0}, {1}, {2}, …, {n}. Параметры {0}, {1}, {2}, …, {n} – это индексированные знакоместа. Первое знакоместо имеет индекс 0, второе – 1 и т. д.

Метод Console.Read() считывает один символ. Его используют для организации задержки вывода на экране (ожидание нажатия клавиши ввода), а также для определения числового кода введенного символа. Например,

Console.WriteLine(“Введите любой символ!”);

int s=Console.Read();

Console.WriteLine(“Код символа - {0}”,s);

Второй вариант вывода данных: значения переменных можно выводить с помощью операции конкатенации (соединения), которая обозначается знаком +. Например,

int godr=1998;

Console.WriteLine(“Я родился в ” + godr + “ году.”);

Ввод данных. Системные типы – это структуры, определенные в среде .NET Framework, которые имеют статические методы. Метод Parse(string) преобразует строку, например, в целочисленное значение:

int x=Int32.Parse(st);

Метод Console.ReadLine() вводит строку символов. Чтобы преобразовать строку в число, нужно применить метод Parse(string). Для этого нужно:

1)объявить строковую переменную

string st;

2)с помощью метода Console.ReadLine() ввести эту строку st=Сonsole.ReadLine();

3)преобразовать строку в число, если целое:

int x=Int32.Parse(st);

Или, второй вариант ввода данных, можно предварительно не объявлять строковую переменную,а дляметода Parse(string) в качестве параметра применить вызов метода Console.ReadLine():

double srbal=Double.Parse(Console.ReadLine());

Формат вывода данных. Для форматирования вывода вещественных значений можно использовать расширенную форму параметров:

{Номер аргумента, ширина : формат вывода в виде #.###}

Например: Console.WriteLine(“Выражение х/3= {0: #.####}“ , х/3);

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