Здесь я буду выкладывать по 1–2 поста каждый день - короткие уроки по Unity + C# начиная с самого нуля.
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
Unity C# Hub
Unity и C# — просто и по делу
❤3👍3👎1🔥1🤔1
C# - объектно-ориентированный язык программирования общего назначения. C# относится к семье языков с C-подобным синтаксисом, из них его синтаксис наиболее близок к C++ и Java.
Основные области применения C#:
Веб-разработка: Бэкенд для веб-сайтов, API, микросервисы с использованием ASP.NET Core, Blazor.
Разработка игр: Создание игр для ПК, консолей и мобильных устройств на движке Unity (например, Hollow Knight, Cuphead).
Десктопные приложения: Программы для Windows (особенно), macOS, с использованием WPF, WinForms, MAUI.
Мобильные приложения: Кроссплатформенные приложения для iOS и Android с помощью .NET MAUI (ранее Xamarin).
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍2🔥2👎1
Самые популярные - Visual Studio, Visual Studio Code (VS Code), JetBrains Rider
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍2🔥2👎1
Главный способ показать результат в консоли — Console.WriteLine() и Console.Write().
• WriteLine() печатает и делает перенос строки (переходит на новую строку)
• Write() печатает без переноса (печатает “в ту же строку”)
Console.Write("A ");
Console.Write("B ");
Console.WriteLine("C");
// A B C1) Можно выводить числа и текст вместе
int score = 10;
Console.WriteLine("Score: " + score);
2) Интерполяция строк (самый удобный способ)
int coins = 25;
Console.WriteLine($"Coins: {coins}");
3) Вывод нескольких значений сразу
int a = 5, b = 7;
Console.WriteLine($"a={a}, b={b}, сумма={a + b}");
4) Перенос строки вручную. Иногда удобно вставить перенос внутри текста:
Console.WriteLine("Привет!\nКак дела?");5) Пустая строка. Чтобы просто сделать “пустой отступ”:
Console.WriteLine();
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1🔥1
Пример:
string name = Console.ReadLine();
Console.WriteLine(name);
Любой ввод через Console.ReadLine() — всегда строка, даже если ты вводишь 123 или 45.6.
1) Вывод с текстом (удобно через $)
Console.WriteLine($"Привет, {name}!");2) Пробелы во вводе. Пользователь может ввести пробелы:
string text = Console.ReadLine().Trim(); // убирает пробелы по краям
3) Если нужно число:
int age = int.Parse(Console.ReadLine());
Если введут не число — будет ошибка.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍1
Переменная - это “коробка” с названием, в которой хранится значение.
В C# у каждой переменной есть тип
int score = 10;
string userName = "Bob";
тип данных название переменной оператор присваивания значение переменной
Соглашения по стилю (Microsoft):
int count;
string customerName;
var totalAmount = 100;
Переменные классa и модификаторы доступа.
public int MaxItems;
protected string FileName;
private int _count;
internal string _fileName;
Ссылка
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍1
Свойства (Properties). Используются вместо публичных полей. PascalCase:
public string FirstName { get; set; }Параметры метода. camelCase (локальные имена):
void SaveOrder(int orderId, string customerName) { }Boolean переменные лучше начинать с Is/Has/Can, чтобы ясно понимать смысл:
bool isValid;
bool hasItems;
Переменные-коллекции - во множественном числе:
List<string> customerNames;
Ссылка
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍1
Тип данных - это правило, которое говорит C#:
• какие значения можно хранить
• сколько памяти выделять
•какие операции разрешены
Целочисленные типы:
byte 0 … 255 (1 байт, только положительные)
sbyte -128 … 127 (1 байт с минусом)
short -32 768 … 32 767 (2 байта)
ushort 0 … 65 535 (2 байта)
int -2 147 483 648 … 2 147 483 647 (4 байта)
uint 0 … 4 294 967 295 (4 байта)
long -9 223 372 036 854 775 808 … 9 223 372 036 854 775 807 (8 байт)
ulong 0 … 18 446 744 073 709 551 615 (8 байт)
Числа с точкой:
float - дробные числа, меньше точность, быстрее в конце значения переменной ставится f
double - дробные числа с высокой точностью
Логический тип:
bool - хранит состояние: да/нет, включено/выключено
Символьные и текстовые типы:
char - один символ, всегда в одинарных кавычках
string - набор символов, всегда в двойных кавычках
Ещё несколько фактов:
• Тип переменной нельзя менять после объявления
• Тип защищает от ошибок (нельзя сложить текст и число просто так)
• Чем меньше тип - тем меньше памяти, но меньше диапазон
• В 90% случаев достаточно int, double, bool, string
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍1
Основные арифметические операции:
В C# есть стандартные математические операторы, как в обычной математике:
+ // сложение
- // вычитание
* // умножение
/ // деление
% // остаток от деления
Console.WriteLine(5 % 2); // 1 — остаток от деления 5 на 2
“Короткие” операторы (compound assignment). Эти операторы делают арифметическую операцию и присваивают результат обратно в переменную:
x += 5; // x = x + 5
x -= 3; // x = x - 3
x *= 2; // x = x * 2
x /= 4; // x = x / 4
x %= 5; // x = x % 5
Инкремент и декремент:
++ увеличивает переменную на 1
-- уменьшает переменную на 1
Они бывают постфиксные (i++) и префиксные (++i):
i++ сначала возвращает старое значение, потом увеличивает.
++i сначала увеличивает, потом возвращает новое
Важный факт:
Если ты делишь целые числа (int), то результат тоже будет целым (остаток отброшен):
Console.WriteLine(13 / 5); // 2
Если нужен точный результат с дробной частью, используй float или double:
double result = 13.0 / 5.0; // 2.6
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥1👌1
В C# любые сравнения и логические выражения возвращают bool - true или false.
Операторы сравнения:
== — равно
!= — не равно
> — больше
< — меньше
>= — больше или равно
<= — меньше или равно
Логические операторы:
&& — И (оба условия должны быть true)
|| — ИЛИ (достаточно одного true)
! — НЕ (меняет true ↔️ false)
Пример:
bool ok = (age >= 12) && (age <= 18);
Строки сравниваются через ==
string login = "admin";
bool isAdmin = (login == "admin");
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1
if проверяет условие.
Если условие true - код выполняется, если false - выполняется else.
Пример:
if (x > 0)
Console.WriteLine("Плюс");
else
Console.WriteLine("Ноль или минус");
Здесь всегда выполнится только один блок.
📌 Полезные примеры
Чётное или нечётное число
int n = int.Parse(Console.ReadLine());
if (n % 2 == 0)
Console.WriteLine("Чётное");
else
Console.WriteLine("Нечётное");
Please open Telegram to view this post
VIEW IN TELEGRAM
Когда условий больше двух, используют else if.
Пример с оценками:
if (score >= 90)
Console.WriteLine("5");
else if (score >= 70)
Console.WriteLine("4");
else if (score >= 50)
Console.WriteLine("3");
else
Console.WriteLine("2");
Проверка идёт сверху вниз.
Как только условие стало true, остальные не проверяются.
Важные правила:
✅ Условия лучше писать от большего к меньшему
✅ else - необязателен
✅ Можно использовать скобки, если внутри несколько строк
if (x > 0)
{
Console.WriteLine("Плюс");
Console.WriteLine("Число положительное");
}
Please open Telegram to view this post
VIEW IN TELEGRAM
Определение времени суток (0–23):
int hour = int.Parse(Console.ReadLine());
if (hour >= 0 && hour < 6)
Console.WriteLine("Ночь");
else if (hour < 12)
Console.WriteLine("Утро");
else if (hour < 18)
Console.WriteLine("День");
else
Console.WriteLine("Вечер");
Please open Telegram to view this post
VIEW IN TELEGRAM
Тернарный оператор — это “короткий if”, когда нужно выбрать одно из двух значений.
Шаблон:
var result = (условие) ? значениеЕслиTrue : значениеЕслиFalse;
Пример:
string msg = (x % 2 == 0) ? "Чётное" : "Нечётное";
Console.WriteLine(msg);
Дополнительная информация (важно):
1) Тернарный оператор возвращает значение
Его удобно использовать, когда нужно сразу присвоить переменной или вывести:
Console.WriteLine(x > 0 ? "Плюс" : "Ноль или минус");
2) Тернарный оператор не заменяет сложный if
Если внутри нужно много строк кода — лучше обычный if/else.
3) Типы должны быть совместимы
Обе ветки должны возвращать похожий тип:
4) Можно вкладывать, но лучше не злоупотреблять
Вложенные тернарные операторы быстро становятся нечитаемыми. Если стало сложно — переходи на if/else.
Please open Telegram to view this post
VIEW IN TELEGRAM
