C# Ready | Unity
10.1K subscribers
1.21K photos
62 videos
553 links
Авторский канал по разработке на C# и Unity.
Ресурсы, гайды, задачи, шпаргалки.
Информация ежедневно пополняется!

Автор: @energy_it

РКН: https://clck.ru/3SBaT3

Реклама на бирже: https://telega.in/c/csharp_ready
Download Telegram
👩‍💻 Строим карту длины слов в тексте!

Мы превратим обычный ввод из консоли в небольшое исследование: возьмём текст, очистим его и соберём статистику по длинам слов, чтобы увидеть структуру фразы под новым углом.

В этой задаче:

Превратим сырой набор строк в понятный материал для анализа;

Увидим, как разные слова распределяются по длине и частоте;

Сделаем простую таблицу, которая сразу показывает скрытые закономерности.


И в итоге получим маленький инструмент, который помогает внимательнее смотреть на любой текст.

➡️ C# Ready | #задача
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥127👍3👎2🤝2
Удобный System.Text.Json в .NET 8 без Newtonsoft!

Во многих проектах до сих пор тянут Newtonsoft.Json только ради пары фич. В .NET 8 стандартный System.Text.Json уже закрывает большинство кейсов.

Сначала настраиваем опции сериализации и включаем snake_case:
using System;
using System.Text.Json;
using System.Text.Json.Serialization;

var options = new JsonSerializerOptions
{
// Имена свойств в JSON будут в snake_case
PropertyNamingPolicy = JsonNamingPolicy.SnakeCaseLower,
// Красивый формат для логов/отладки
WriteIndented = true
};


Описываем интерфейс и полиморфные реализации через атрибуты:
// Включаем полиморфную сериализацию по интерфейсу
[JsonPolymorphic(TypeDiscriminatorPropertyName = "$type")]
[JsonDerivedType(typeof(CreateUserCommand), typeDiscriminator: "create")]
[JsonDerivedType(typeof(DeleteUserCommand), typeDiscriminator: "delete")]
public interface ICommand { }

public record CreateUserCommand(string UserName) : ICommand;

public record DeleteUserCommand(Guid UserId) : ICommand;


Сериализуем команду в JSON и восстанавливаем обратно в интерфейс:
// Работаем через интерфейс — внутри может быть любая команда
ICommand cmd = new CreateUserCommand("test_user");

// Сериализация с нашими настройками
var json = JsonSerializer.Serialize(cmd, options);
Console.WriteLine(json);

// Десериализация обратно в ICommand
var restored = JsonSerializer.Deserialize<ICommand>(json, options);


🔥 Главное — в .NET 8 System.Text.Json уже умеет удобный snake_case и полиморфную сериализацию по интерфейсам, так что во многих сервисах можно спокойно обходиться без Newtonsoft.

➡️ C# Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥75
👩‍💻 Асинхронность без лишних сложностей!

Асинхронный код помогает программе оставаться живой и отзывчивой, позволяя выполнять долгие операции в фоне, не блокируя остальные части приложения и не создавая ощущение задержек.

В этом гайде:

Показываем, как ожидание не мешает выполнению программы;

Объясняем, почему асинхронность делает интерфейс плавнее;

Помогаем понять, где фоновые задачи действительно полезны.


Асинхронность — это способ делать больше без тормозов, сохраняя код простым и понятным.

➡️ C# Ready | #гайд
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥179👍6🤝2😁1
👍1911🔥7
👩‍💻 Регулярки без магии и боли!

В этой шпаргалке — базовые приёмы работы с Regex: как быстро проверять строки на соответствие шаблону, вытаскивать нужные куски, массово очищать и разбивать текст, а ещё безопасно экранировать пользовательский ввод

➡️ C# Ready | #шпора
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥148👍6🤝3
👍86🔥4
Что же выведет консоль?
Anonymous Quiz
33%
A
31%
B
13%
C
23%
D
🔥9👍6😁31
📱 Корутины: сценарии времени без хаоса!

Когда события завязаны на время, удобнее описывать поведение как последовательность шагов с паузами, чем вручную крутить таймеры и внутренние флаги.

Коротко о корутинах:

Помогают вынести ожидания и задержки из игрового цикла;

Делают последовательные события читаемыми, как сценарий или раскадровка;

Упрощают отладку странных зависаний, редких триггеров и переходов.


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

➡️ C# Ready | #unity
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1511👍6🤝4😁1