Он фиксирует архитектуру: запрещает создавать наследников класса или переопределять отмеченный метод, сохраняя важную логику неизменной.
Что важно знать:
• sealed class — компилятор не позволит создать от него подкласс.
• sealed override — окончательная версия метода в иерархии
• JIT может оптимизировать вызовы методов sealed-классов
🔥 — если узнал что-то новое
🤝 — если уже пользовался
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥24🤝14❤5👍3
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18🔥18🤝12❤1
Coroutine
позволяет «заморозить» выполнение кода и продолжить его позднее, не блокируя главный поток. Это даёт чистое решение для анимаций, откатов, перезарядки оружия.Ключевые моменты:
• Coroutine — мини-процесс внутри MonoBehaviour, запускаемый через StartCoroutine()
• yield return — приостанавливает код, возвращая объект-ожидание (WaitForSeconds, WaitUntil, null и т.д.)
• StopCoroutine(handle) / StopAllCoroutines() — аккуратная остановка одной или всех корутин
Корутины делают код Unity-проектов более читаемым, логичным и простым в поддержке.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥25🤝10❤8👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Он объединяет пошаговые главы, живые примеры, встроенный редактор-компилятор и контрольные викторины: вы пишете и сразу запускаете код в браузере, закрепляя теорию на практике
Please open Telegram to view this post
VIEW IN TELEGRAM
❤14👍6🔥5
Освобождаем ресурсы автоматически с using-statement!
Сейчас научимся гарантированно закрывать файлы и соединения с помощью конструкции
Подключим нужные библиотеки — всё уже есть в стандартной библиотеке:
Представь, что мы читаем файл так:
Если дальше случится исключение, потоки останутся открытыми: файл может заблокировать запись, а память не освободится.
Теперь обернём работу с ресурсами в using:
🔥 После выхода из блока
➡️ C# Ready | #практика
Сейчас научимся гарантированно закрывать файлы и соединения с помощью конструкции
using
. Это спасёт от утечек памяти и «залипших» дескрипторов, когда забывают вызвать Dispose()
.Подключим нужные библиотеки — всё уже есть в стандартной библиотеке:
using System;
using System.IO;
Представь, что мы читаем файл так:
FileStream fs = new FileStream("data.txt", FileMode.Open);
StreamReader reader = new StreamReader(fs);
string text = reader.ReadToEnd();
Если дальше случится исключение, потоки останутся открытыми: файл может заблокировать запись, а память не освободится.
Теперь обернём работу с ресурсами в using:
using (FileStream fs = new FileStream("data.txt", FileMode.Open))
using (StreamReader reader = new StreamReader(fs))
{
string text = reader.ReadToEnd();
Console.WriteLine(text);
}
🔥 После выхода из блока
using
для каждого объекта автоматически вызывается Dispose()
, даже если в середине возникла ошибка.Please open Telegram to view this post
VIEW IN TELEGRAM
❤11👍6🔥5
🔥21👍7❤5