Тип. Позволяет определять другие вложенные в него типы.
Встроенные числовые типы(из Спецификации языка C# версии 3.0).
Category
| Bits
| Type
| Range/Precision
|
Signed integral
|
| sbyte
| –128...127
|
| short
| –32,768...32,767
|
| Int
| –2,147,483,648...2,147,483,647
|
| Long
| –9,223,372,036,854,775,808...9,223,372,036,854,775,807
|
Unsigned integral
|
| Byte
| 0...255
|
| ushort
| 0...65,535
|
| Uint
| 0...4,294,967,295
|
| ulong
| 0...18,446,744,073,709,551,615
|
Floating point
|
| float
| 1.5 × 10−45 to 3.4 × 1038, 7-digit precision
|
| double
| 5.0 × 10−324 to 1.7 × 10308, 15-digit precision
|
Decimal
|
| decimal
| 1.0 × 10−28 to 7.9 × 1028, 28-digit precision
|
Тип bool используется для представления логических значений true или false.
Тип char используется для объявления символа Юникода (кода UTF-16).
Для создания переменных в программах C# используются оператор объявления. В операторе объявления необходимо указать тип и имя создаваемой переменной. Каждая переменная по значению должна быть инициализирована перед использованием (ей должно быть присвоено значение). Простые типы можно инициализировать с помощью литералов. Пример. Объявление и инициализация переменных: sbyte, short, int, long. Форматирование числовых результатов при выводе данных на консоль.
using System;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
sbyte sByte1 = 127;
short x = 32767;
int i = 123;
long long1 = 4294967296;
Console.WriteLine("Переменная sbyte{0,4:d} Переменная short{1,6:d} " +
" Переменная int{2,4:d} Переменная long{3,11:d}", sByte1, x, i,long1);
}
}
}
Для форматирования числовых результатов при выводе данных на консоль можно использовать составное форматирование. Общая форма записи спецификатора формата в составном форматировании имеет следующий вид: {номер_ аргумента[, ширина][: формат]}. Парные фигурные скобки ("{" и "}") здесь обязательны.
номер_ аргумента – описатель параметра, число, определяющее соответствующий объект из списка; индексация элементов ведется от нуля. Например, если имеется три объекта, то можно отформатировать сначала второй, а затем первый и третий объекты, задав следующую строку составного форматирования: "{1} {0} {2}".
Необязательный компонент ширина (alignment) — это целое число со знаком, которое служит для указания желательной ширины поля форматирования.
Необязательный компонент формат — это строка формата, соответствующая типу форматируемого объекта.
Пример. Объявление и инициализация переменных: float, double, decimal. Форматирование числовых результатов.
using System;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
float x = 3.5555F;
double y = 3.5555;
decimal myMoney = 300.5m;
Console.WriteLine("Переменная float {0:f} Переменная double {1:f}" +
" Переменная decimal {2:c}", x, y, myMoney);
}
}
}
using System;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
float x = 3.5555F;
double y = 3.5555;
decimal myMoney = 300.5m;
Console.WriteLine("Переменная float {0:##.#} Переменная double {1:#.###}" +
"Переменная decimal {2:c}", x, y, myMoney);
}
}
}
Литералы
Литерал — это представление значения в исходном коде.
Символьные литералы
char[] chars = new char[4];chars[0] = 'X'; // Character literalchars[1] = '\x0058'; // Hexadecimalchars[2] = (char)88; // Cast from integral typechars[3] = '\u0058'; // Unicode логические литералы
true
false
Литерал_null
null
Целочисленные литералы
Цифры от 0 до 9. Чтобы указать, что литерал представляет собой число без знака, он снабжается
суффиксом u или U, например:
uint i = 12u;
Console.WriteLine("{0:d}", i);
Суффиксы l или L применяются для создания литералов типа long и ulong:
long i = 1222L;
Console.WriteLine("{0:d}", i);
шестнадцатеричные числа
long i = 0xFFFF;
Console.WriteLine("{0:x}", i);
Литералы с плавающей точкой
float i = 10.0f;
Console.WriteLine("{0:f}", i);
double i = -3.7E-10D;
Console.WriteLine("{0:e}", i);
Строковые литералы
string i = "eeeeee\nyyyyyyyyy";
Console.WriteLine(i);
В языке С# строковый литерал может иметь префикс @. Он задает так называемый
буквальный литерал
string i =@"c:\";
Console.WriteLine(i);
Подробнее в спецификации языка C#. Встроенные числовые типы являются структурами, и к их свойствам и методам и другим членам можно получить доступ.
Пример. Объявление и инициализация переменной типа bool. Вывод данных на консоль.
using System;
namespace ConsoleApplication3
{
class Program
{
static void Main(string[] args)
{
bool b = true;
// WriteLine автоматически конвертирует значение переменной b в текст.
Console.WriteLine(b);
}
}
}
Тип char представляет 16-разрядные целые числа без знака в диапазоне от 0 до 65535. Набор возможных значений для типа char соответствует набору символов Юникода.
Пример. Объявление и инициализация четырех переменных типа char, имеющих одно и тоже значение - символ X. using System;
namespace ConsoleApplication3
{
class Program
{
static void Main(string[] args)
{
char char0 = 'X'; // Символьный литерал
char char1 = '\x0058'; // шестнадцатеричная escape-последовательность
char char2 = (char)88; // Преобразование типа int в char
char char3 = '\u0058'; // Юникод
Console.WriteLine("{0} {1} {2} {3}", char0, char1, char2, char3);
}
}
}