Unity по-умолчанию показывает public-поля, но пару атрибутов дают полный контроль над тем, что видно и что сохраняется.
Ключевые моменты:
• [SerializeField] позволяет настраивать private-поля прямо в Inspector, не нарушая инкапсуляцию.
• [HideInInspector] скрывает даже public-поля, если их не нужно редактировать вручную.
• Геттер без сеттера + сериализуемое поле = защита от случайных изменений в рантайме.
Чистый интерфейс, защищённые данные — всё под контролем.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥21🤝14👍7❤6
Он отключает проверки типов на этапе компиляции, позволяя вызывать методы и обращаться к свойствам без точного указания типа. Удобно, когда структура данных неизвестна заранее.
Что важно знать:
• Позволяет работать с JSON без создания классов.
• Подходит для COM-объектов и слабо типизированных API.
• Ошибки появляются только во время выполнения.
Поэтому
dynamic
полезен, когда нужно быстро взаимодействовать с внешними данными или писать универсальный код.Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥30❤10🤝7👍5
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥22❤12👍7🤝4
Сегодня реализуем простой алгоритм частотного анализа: определим, какое слово встречается чаще всего в произвольном тексте.
В этой задаче:
• Получаем строку от пользователя через консоль
• Убираем знаки препинания и приводим все слова к нижнему регистру
• Определяем слово с наибольшим числом повторений и выводим его
Этот подход полезен для анализа логов, выделения ключевых слов и предварительной обработки текста.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥31👍14❤5
This media is not supported in your browser
VIEW IN TELEGRAM
Выбирай, всё бесплатно:
База ежедневно обновляется
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🤝1
Создаём record-типы и копируем объекты с with!
Сейчас научимся создавать неизменяемые типы с помощью
Для начала подключим нужную библиотеку, она уже есть в стандартной поставке:
Теперь опишем тип
Допустим, нам нужно изменить возраст пользователя. Вместо изменения мы создадим копию с новым значением, используя
Вот что получится при запуске:
🔥 Таким образом ты получаешь иммутабельные объекты и можешь удобно копировать их с изменениями — без лишнего кода и side-effects.
➡️ C# Ready | #практика
Сейчас научимся создавать неизменяемые типы с помощью
record
и копировать их, меняя отдельные поля. Это удобно для хранения конфигураций, данных пользователя или состояния UI.Для начала подключим нужную библиотеку, она уже есть в стандартной поставке:
using System;
Теперь опишем тип
record
— это специальный синтаксис для неизменяемых объектов, и создадим первый экземпляр:public record User(string Name, int Age);
User original = new User("Alice", 30);
Допустим, нам нужно изменить возраст пользователя. Вместо изменения мы создадим копию с новым значением, используя
with
:User updated = original with { Age = 31 };
Console.WriteLine(original);
Console.WriteLine(updated);
Вот что получится при запуске:
User { Name = Alice, Age = 30 }
User { Name = Alice, Age = 31 }
🔥 Таким образом ты получаешь иммутабельные объекты и можешь удобно копировать их с изменениями — без лишнего кода и side-effects.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10👍6🔥4