
- Главная
- Каталог
- Интернет технологии
- C# Ready | GameDev
C# Ready | GameDev
Авторский канал по разработке на C#. Ресурсы, обучения, задачи и шпаргалки.
Статистика канала
nameof помогает брать имя свойства, метода или переменной прямо из кода, а не писать его руками обычной строкой.
Что важно знать:
• nameof возвращает имя элемента в виде строки • При переименовании IDE обновит ссылку, а не оставит старый текст • Особенно полезен в логах, ошибках, валидации и отладкеМаленькая фича, которая убирает “магические строки” и делает код спокойнее при рефакторинге.
string userName = "Анна";
Console.WriteLine("userName");{}
Такой код работает, но строка "userName" никак не связана с самой переменной.
Если потом переименовать переменную, строка не изменится автоматически.
В C# для этого есть оператор nameof:
string userName = "Анна";
Console.WriteLine(nameof(userName));{}
nameof возвращает имя переменной, свойства, класса или метода в виде строки.
Вот что получится при запуске:
userName{}
Это удобно, например, при проверке аргументов:
void PrintName(string name)
{
if (name == null)
throw new ArgumentNullException(nameof(name));
Console.WriteLine(name);
}{}
Теперь при переименовании параметра name IDE обновит и использование внутри nameof.
nameof помогает избежать ошибок в строках и делает код безопаснее при рефакторинге
— Плюсы: кодинг, миллион токенов контекста и агентский режим — Минусы: логические ошибки, нужно присматривать в сложных задачахБольше всего зацепила именно работа агента. Решил проверить его на своей «боли» — навел порядок в подписках Telegram. В последнее время лента превратилась в бесконечный шум с постами об одном и том же. Дал задачу нейронке: просмотреть мои подписки, убрать лишнее и оставить только тех, кто пишет про реальный опыт, автоматизацию и внедрение ИИ в работу. Модель сама просканировала каналы и собрала отличную подборку. Результат получился реально адекватным, поэтому делюсь этой подборкой. Авторы, которые каждый день пишут полезные об IT и AI доступно и интересно. Подписывайтесь на лучших Tech-специалистов https://t.me/addlist/81ejyxxH4rM0ZDIy
.txt-файлов, подписываемся на события Created и Changed:
using System.IO;
string path = @"C:\Watched";
using var watcher = new FileSystemWatcher(path, "*.txt")
{
NotifyFilter = NotifyFilters.FileName | NotifyFilters.LastWrite,
IncludeSubdirectories = false,
// или true — если нужны подпапки
EnableRaisingEvents = true
// запускаем слежение
};
watcher.Created += OnChanged;
watcher.Changed += OnChanged;{}
Обработчик получает данные об изменении и выводит краткую информацию:
static void OnChanged(object sender, FileSystemEventArgs e)
{
Console.WriteLine($"[{DateTime.Now:HH:mm:ss}] {e.ChangeType}: {e.FullPath}");
}{}
Чтобы консольное приложение не завершилось раньше времени, просто ждём клавишу:
Console.WriteLine($"👀 Слежение за {path} запущено. Нажмите Enter для выхода…");
Console.ReadLine();{}
🔥 FileSystemWatcher избавляет от циклов опроса: оперативно, без лишних ресурсов и под любые типы файлов.
async Task<IActionResult> пишется на автомате. Вы точно знаете, почему EF Core сгенерировал именно такой SQL - и как переписать запрос, чтобы он летал.
Это не фантазия. Это результат после 16 модулей, в которых каждая концепция объясняется через код и закрепляется практикой.
ООП, SOLID, LINQ, async/await, DI, EF Core, ASP.NET Core, Docker, Kubernetes - всё, что казалось магией, станет рабочим инструментом.
А бонусом - портфолио проектов: от CLI-утилит и REST API до собственного SaaS с multi-tenancy, JWT и деплоем в Kubernetes под TLS.
Скидка - 58% доступна 48 часов: https://stepik.org/a/282984/List<T> или массив, количество элементов можно получить напрямую через свойство. В таком случае запись через Count() выглядит чуть тяжелее, чем нужно.
Например, здесь:
if (users.Count() > 0)
{
SendPromo(users);
}{}
формально всё работает, но при чтении возникает лишний вопрос: зачем здесь LINQ-метод, если коллекция и так уже известна?
Гораздо проще воспринимается такой вариант:
if (users.Count > 0)
{
SendPromo(users);
}{}
Здесь код читается прямолинейно: у коллекции есть количество элементов, мы его и проверяем.
Это особенно актуально в местах, где важна простота чтения: в if, валидации, guard-условиях и любой повседневной бизнес-логике.
Важно только помнить: такой подход подходит именно тогда, когда тип коллекции уже известен.
Если перед вами IEnumerable<T>, то свойства Count у него может не быть, и это уже другая ситуация.
Отзывы канала
- Добавлен: Сначала новые
- Добавлен: Сначала старые
- Оценка: По убыванию
- Оценка: По возрастанию
Каталог Телеграм-каналов для нативных размещений
C# Ready | GameDev — это Telegam канал в категории «Интернет технологии», который предлагает эффективные форматы для размещения рекламных постов в Телеграмме. Количество подписчиков канала в 10.0K и качественный контент помогают брендам привлекать внимание аудитории и увеличивать охват. Рейтинг канала составляет 11.9, количество отзывов – 1, со средней оценкой 5.0.
Вы можете запустить рекламную кампанию через сервис Telega.in, выбрав удобный формат размещения. Платформа обеспечивает прозрачные условия сотрудничества и предоставляет детальную аналитику. Стоимость размещения составляет 2237.76 ₽, а за 8 выполненных заявок канал зарекомендовал себя как надежный партнер для рекламы в TG. Размещайте интеграции уже сегодня и привлекайте новых клиентов вместе с Telega.in!
Вы снова сможете добавить каналы в корзину из каталога
Комментарий