111 lines
1.7 KiB
Markdown
111 lines
1.7 KiB
Markdown
# C\#
|
|
|
|
## Project file
|
|
|
|
Project file - файл для конфигурации проекта в формате xml
|
|
|
|
Поля:
|
|
|
|
* OutputType (Exe | Dll) - во что компилировать
|
|
* TargetFramework (net7.0) - версия .NET
|
|
|
|
## Переменные
|
|
|
|
```C#
|
|
string name = "Tom";
|
|
string name2;
|
|
name2 = "Bob";
|
|
```
|
|
|
|
## Константы
|
|
|
|
```C#
|
|
const string NAME = "Tom";
|
|
```
|
|
|
|
## Типы данных
|
|
|
|
* bool
|
|
* sbyte (signed byte)
|
|
* byte
|
|
* short - 16 байт
|
|
* ushort (unsigned)
|
|
* int - 32 байта
|
|
* uint
|
|
* long - 64 байта
|
|
* ulong
|
|
* char - 16 байт. Знак unicode
|
|
* float 32 байт
|
|
* double - 64 байта
|
|
* decimal - 128 бит
|
|
* string
|
|
* object - аля Python Object
|
|
|
|
Числа в формате 3.14 по умолчанию double. Если нужен float или decimal, то используются суффиксы
|
|
|
|
```C#
|
|
float a = 3.14f;
|
|
decimal b = 3.14m;
|
|
```
|
|
|
|
Для целочисленных по умолчанию int
|
|
|
|
```C#
|
|
int a = 5;
|
|
uint b = 5u;
|
|
long c = 5l;
|
|
ulong d = 5ul;
|
|
```
|
|
|
|
## Неявная типизация
|
|
|
|
```C#
|
|
var hello = "Hello world";
|
|
```
|
|
|
|
Для var объявление и инициализация должны идти вместе
|
|
|
|
```C#
|
|
// Так низя: ошибка
|
|
var c;
|
|
c = 5;
|
|
```
|
|
|
|
## Вывод в терминал
|
|
|
|
```C#
|
|
Console.WriteLine("Привет");
|
|
Console.Write("Привет ");
|
|
Console.Write("Мир");
|
|
```
|
|
|
|
Выведет:
|
|
|
|
```text
|
|
Привет
|
|
Привет мир
|
|
```
|
|
|
|
## Форматированный вывод
|
|
|
|
```C#
|
|
string name = "John";
|
|
string age = 34;
|
|
Console.WriteLine($"{name} is {age} years old")
|
|
```
|
|
|
|
## Ввод данных
|
|
|
|
```C#
|
|
string? name = Console.ReadLine();
|
|
int foo = Convert.ToInt32(Console.ReadLine());
|
|
```
|
|
|
|
## Простые операторы
|
|
|
|
* \+
|
|
* \-
|
|
* \*
|
|
* /
|
|
* %
|