Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion modules/10-basics/10-hello-world/ru/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
C# — это язык программирования, созданный компанией Microsoft. Это один из самых популярных языков программирования в России и в мире — достаточно глянуть на число открытых вакансий (а еще на предлагаемые зарплаты). C# — кроссплатформенный язык. Это означает что на нем можно писать веб-сервисы, настольные приложения, мобильные приложения, приложения для интернета вещей (IoT), игры и еще многое другое.

Microsoft для своего языка создало удобную среду для разработки (IDE) — Visual Studio. Для того чтобы начать разрабатывать не нужно устанавливать десятки SDK, настраивать текстовые редакторы и т.д. Visual Studio включает в себя все нужные инструменты. Достаточно его установить и уже можно с удобством разрабатывать все что угодно.
Microsoft для своего языка создало удобную среду для разработки (IDE) — Visual Studio. Для того чтобы начать разрабатывать, не нужно устанавливать десятки SDK, настраивать текстовые редакторы и т.д. Visual Studio включает в себя все нужные инструменты. Достаточно его установить, и уже можно с удобством разрабатывать всё что угодно.

C# входит в семейство C-подобных языков. Туда же входят некоторые другие языки: C++, Java, JavaScript, PHP. Даже если C# не понравится как первый язык, то перейти на другой будет не сложно.

Expand Down
2 changes: 1 addition & 1 deletion modules/10-basics/30-statemets/ru/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ Mother of Dragons
Dracarys!
```

Почему это важно знать? Инструкция — это единица исполнения. Программа которая запускает код на C#, выполняет инструкции строго по очереди. И мы, как разработчики, должны понимать этот порядок и уметь мысленно разделять программу на независимые части, удобные для анализа.
Почему это важно знать? Инструкция — это единица исполнения. Программа, которая запускает код на C#, выполняет инструкции строго по очереди. И мы, как разработчики, должны понимать этот порядок и уметь мысленно разделять программу на независимые части, удобные для анализа.

Теоретически инструкции можно написать последовательно друг за другом без переноса на новую строчку:

Expand Down
4 changes: 2 additions & 2 deletions modules/10-basics/40-testing/ru/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

Например, если ваша задача — написать код для сложения двух чисел, то проверочная система будет передавать ему разные комбинации чисел и сверять ответ вашего кода с реальными суммами. Если во всех случаях ответы совпадут, то решение считается верным.

Вот простой пример: помните задание из 1го упражнения, где вам надо было вывести на экран "Hello, World!"?. Допустим, вы допустили небольшую опечатку. Система ответит примерно так:
Вот простой пример: помните задание из первого упражнения, где вам надо было вывести на экран "Hello, World!"? Допустим, вы допустили небольшую опечатку. Система ответит примерно так:

```text
Submission#0.output == "Hello, World!"
Expand All @@ -16,7 +16,7 @@ Submission#0.output == "Hello, World!"
"Hello World!"
```

Читать это следует так: в ответе ожидалось строка с "Hello, World!" (первая строчка после двойного '='), но в вместо него пришла строка "Hello World!" (нижняя строчка)". Строки отличаются символом под номером 5. В данном примере пропущена запятая.
Читать это следует так: в ответе ожидалась строка с "Hello, World!" (первая строчка после двойного '='), но вместо неё пришла строка "Hello World!" (нижняя строчка). Строки отличаются символом под номером 5. В данном примере пропущена запятая.

Кроме наших тестов, будет крайне полезно экспериментировать с кодом в вашем собственном консольном приложении. [Установите Visual Studio](https://visualstudio.microsoft.com/ru/downloads/) и попробуйте создать [простое консольное приложение](https://docs.microsoft.com/ru-ru/visualstudio/get-started/csharp/tutorial-console?view=vs-2022). Оцените мощь IDE, которая может сама автодополнять выражения и подчеркивать места с ошибками.

Expand Down
2 changes: 1 addition & 1 deletion modules/30-strings/10-quotes/ru/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ Dragon's mother said "No"
Console.WriteLine("Dragon's mother said "No"");
```

С точки зрения C#, здесь странная конструкция состоящая из строк _"Dragon's mother said "_ и _""_ и _No_ между ними без пробелов. Причем последнее не рассматривается как строка, оно не в кавычках. Значит прямым способом эту строчку не вывести.
С точки зрения C#, здесь странная конструкция, состоящая из строк _"Dragon's mother said "_ и _""_ и _No_ между ними без пробелов. Причем последнее не рассматривается как строка, оно не в кавычках. Значит прямым способом эту строчку не вывести.

Для вывода таких строк используют **символ экранирования**: `\`. Если поставить `\` перед кавычкой, это будет означать, что кавычку нужно рассматривать не как начало или конец строки, а как часть строки.

Expand Down
2 changes: 1 addition & 1 deletion modules/30-strings/30-concatenation/ru/README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@

Программы, которые создают разработчики постоянно оперируют строками. Всё, что мы видим на сайтах, в мобильных приложениях, так или иначе представлено в виде текста. Этот текст чаще всего динамический, то есть полученный из разных частей, которые соединяются вместе. Операция соединения строк в программировании называется **конкатенацией**.
Программы, которые создают разработчики, постоянно оперируют строками. Всё, что мы видим на сайтах, в мобильных приложениях, так или иначе представлено в виде текста. Этот текст чаще всего динамический, то есть полученный из разных частей, которые соединяются вместе. Операция соединения строк в программировании называется **конкатенацией**.

```cs
// Оператор такой же, как и при сложении чисел
Expand Down
2 changes: 1 addition & 1 deletion modules/40-variables/10-definition/ru/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Console.WriteLine("Father!"); // => Father!
Console.WriteLine("Father!"); // => Father!
```

В простейшем случае так и стоит поступить, но если фраза _Father!_ начнет использоваться чаще, да еще и в разных частях программы, то придется ее везде повторять. Проблемы с таким подходом начнутся тогда, когда понадобится изменить нашу фразу, а такое происходит довольно часто. Нам придется найти все места где использовалось фраза _Father!_ и выполнить необходимую замену. А можно поступить по другому. Вместо копирования нашего выражения, достаточно создать переменную с этой фразой.
В простейшем случае так и стоит поступить, но если фраза _Father!_ начнет использоваться чаще, да еще и в разных частях программы, то придется ее везде повторять. Проблемы с таким подходом начнутся тогда, когда понадобится изменить нашу фразу, а такое происходит довольно часто. Нам придется найти все места, где использовалась фраза _Father!_ и выполнить необходимую замену. А можно поступить по-другому. Вместо копирования нашего выражения достаточно создать переменную с этой фразой.

```cs
// greeting – переводится как приветствие
Expand Down
2 changes: 1 addition & 1 deletion modules/40-variables/30-variables-naming/ru/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ Console.WriteLine(x);
Console.WriteLine(x);
```

Она по прежнему работает, но в ней изменилось имя переменной на `x`. Компьютеру без разницы, как мы называем переменные, это бездушная машина, но вот программистам — нет. Мы гораздо чаще читаем код, чем пишем. Причём не свой, а написанный другими людьми. От качества и понятности имён переменных зависит половина успеха в анализе кода.
Она по-прежнему работает, но в ней изменилось имя переменной на `x`. Компьютеру без разницы, как мы называем переменные, это бездушная машина, но вот программистам — нет. Мы гораздо чаще читаем код, чем пишем. Причём не свой, а написанный другими людьми. От качества и понятности имён переменных зависит половина успеха в анализе кода.

Лучше посидеть и придумать название, которое описывает суть, смысл переменной, чем назвать её как попало, а в будущем переделывать. Постарайтесь давать им такие имена, чтобы они были максимально понятны без контекста, без изучения окружающего кода.

Expand Down
2 changes: 1 addition & 1 deletion modules/40-variables/50-variables-expressions/ru/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ var dollarsCount = 50 * 1.25;
Console.WriteLine(dollarsCount);
```

В предыдущем уроке мы записывали в переменную конкретное значение. А здесь `var dollarsCount = 50 * 1.25;` справа от знака равно находится **выражение**. Программа вычислит результат — _62.5_ — и запишет его в переменную. С точки зрения программы не важно, что написано: _62.5_ или _50 * 1.25_, эти оба варианта — выражения, которые надо вычислить. И они вычисляются в одно и тоже значение — _62.5_.
В предыдущем уроке мы записывали в переменную конкретное значение. А здесь `var dollarsCount = 50 * 1.25;` справа от знака равно находится **выражение**. Программа вычислит результат — _62.5_ — и запишет его в переменную. С точки зрения программы не важно, что написано: _62.5_ или _50 * 1.25_, эти оба варианта — выражения, которые надо вычислить. И они вычисляются в одно и то же значение — _62.5_.

Любая строка — выражение. Конкатенация строк — тоже выражение. Когда программа видит выражение, она вычисляет его и **возвращает** результат. Вот несколько примеров выражений, а в комментариях справа от каждого выражения — итоговое значение:

Expand Down
2 changes: 1 addition & 1 deletion modules/40-variables/90-interpolation/ru/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,6 @@ Console.WriteLine($"{greeting}, {firstName}!");

В одной строке можно делать сколько угодно подобных блоков.

Чтобы в строке начала работать интерполяция перед ее началом надо добавить знак «доллара» – **$**. Обратите внимание что знак стоит _до_ открывающей кавычки, а не _после_ неё.
Чтобы в строке начала работать интерполяция, перед ее началом надо добавить знак «доллара» – **$**. Обратите внимание, что знак стоит _до_ открывающей кавычки, а не _после_ неё.

Почти во всех языках интерполяция предпочтительнее конкатенации для объединения строк. Строка при этом получается склеенная, и внутри неё хорошо просматриваются пробелы и другие символы. Во-первых, интерполяция позволяет не путать строки с числами (из-за знака +), а во-вторых, так гораздо проще (после некоторой практики) понимать строку целиком.
2 changes: 1 addition & 1 deletion modules/50-data-types/10-data-types-basics/ru/README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@

Внутри высокоуровневых языков программирования данные разделяются по типам. Например строки относятся к типу **string**, а числа — к типу **int**. Зачем нужны типы? Для защиты программы от трудноотловимых ошибок. Типы определяют две вещи:
Внутри высокоуровневых языков программирования данные разделяются по типам. Например, строки относятся к типу **string**, а числа — к типу **int**. Зачем нужны типы? Для защиты программы от трудноуловимых ошибок. Типы определяют две вещи:

- Возможные (допустимые) значения. Например, числа в C# делятся на две группы типов: int и float. Первые — целые числа, вторые – рациональные. Такое разделение связано с техническими особенностями работы аппаратуры.
- Набор операций, которые можно выполнять над этим типом. Например, операция умножения имеет смысл для типа «целые числа». Но не имеет смысла для типа «строки»: умножать слово «мама» на слово «блокнот» — бессмыслица.
Expand Down
Loading
Loading