Начало работы
Hello.cs
``cs class Hello { // главный метод static void Main(string[] args) { // Вывод: Hello, world! Console.WriteLine(“Hello, world!”); } }
Создает каталог проекта для нового консольного приложения
``cs
$ dotnet new console
перечисляет все шаблоны приложений ``cs $ dotnet new list
Компиляция и запуск (убедитесь, что вы находитесь в каталоге проекта)
``Основной сценарий
$ dotnet run
Привет, мир!
Переменные
``cs int intNum = 9; long longNum = 9999999; float floatNum = 9.99F; double doubleNum = 99.999; decimal decimalNum = 99.9999M; char letter = ‘D’; bool @bool = true; string site = “cheatsheets.zip”;
var num = 999; var str = “999”; var bo = false;
### Примитивные типы данных
| Тип данных | Размер | Диапазон |
| --------- | ---------------- | ----------------------- |
| `int` | 4 байта | -2^31^ ^to^ 2^31^-1 |
| `long` | 8 байт | -2^63^ ^to^ 2^63^-1 |
| `float` | 4 байта | 6 ^до^ 7 десятичных цифр |
| `double` | 8 байт | 15 десятичных цифр |
| `decimal` | 16 байт | 28 ^to^ 29 десятичных цифр |
| `char` | 2 байта | 0 ^до^ 65535 |
| `bool` | 1 бит | true / false |
| `string` | 2 байта на символ | _N/A_ |
{.show-header}
### Комментарии
``cs
// Однострочный комментарий
/* Многострочный
комментарий */
// TODO: Добавляет комментарий к списку задач в Visual Studio
/// Однострочный комментарий используется для документации
/** Многострочный комментарий
используется для документации **/
Строки
``cs string first = “John”; string last = “Doe”;
// конкатенация строк string name = first + " " + last; Console.WriteLine(name); // => Джон Доу
См: [Строки](#c-strings)
### Пользовательский ввод
``cs
Console.WriteLine("Введите число:");
if(int.TryParse(Console.ReadLine(),out int input))
{
// Ввод подтвержден
Console.WriteLine($"Вы ввели {ввод}");
}
Conditionals
``cs int j = 10;
if (j == 10) { Console.WriteLine(“Меня печатают”); } else if (j > 10) { Console.WriteLine(“Меня не печатают”); } else { Console.WriteLine(“Я тоже не печатаюсь”); }
### Массивы
``cs
char[] chars = new char[10];
chars[0] = 'a';
chars[1] = 'b';
string[] letters = {"A", "B", "C"};
int[] mylist = {100, 200};
bool[] answers = {true, false};
Циклы
``cs int[] numbers = {1, 2, 3, 4, 5};
for(int i = 0; i < numbers.Length; i++) { Console.WriteLine(numbers[i]); }
---
``cs
foreach(int num in numbers) {
Console.WriteLine(num);
}
Строки C#
Конкатенация строк
``cs string first = “John”; string last = “Doe”;
string name = first + " " + last; Console.WriteLine(name); // => John Doe
### Интерполяция строк
``cs
string first = "John";
string last = "Doe";
string name = $"{first} {last}";
Console.WriteLine(name); // => John Doe
String Members
Member | Description |
---|---|
Length | Длина |
Compare() | |
Contains() | Определяет, содержит ли строка определенную подстроку. |
Equals() | |
Format() | |
Trim() | |
Split() | |
{.show-header} |
Вербальные строки
``cs {.wrap} string longString = @“Я могу вводить здесь любые символы !#@$%^&*()__+ ‘’\n \t кроме двойных кавычек, и меня будут воспринимать буквально. Я даже работаю с несколькими строками.”
### Пример члена
```cs
// Использование свойства System.String
string lengthOfString = "Сколько времени?";
lengthOfString.Length // => 9
// Использование методов System.String
lengthOfString.Contains("How"); // => true
Разное
Общие термины .NET
Термин | Определение |
---|---|
Время выполнения | Совокупность служб, необходимых для выполнения данной скомпилированной единицы кода. |
Common Language Runtime (CLR) | В первую очередь это поиск, загрузка и управление объектами .NET. CLR также управляет памятью, хостингом приложений, координацией потоков, выполнением проверок безопасности и другими низкоуровневыми деталями. |
Управляемый код | Код, который компилируется и выполняется в среде выполнения .NET. Примерами являются C#/F#/VB. |
Неуправляемый код | |
{.show-header} |