Защищаем код от опечаток с nameof!
Часто мы передаём в исключения или логи имя переменной или свойства в виде строки.
Но если имя поменяется, строку придётся искать и менять вручную. Это легко ломает код при рефакторинге.
Подключим стандартную библиотеку:
Допустим, мы пишем код с «магической» строкой:
Если потом мы переименуем
Сейчас перепишем с безопасной конструкцией
🔥 Теперь при переименовании переменной
➡️ C# Ready | #практика
Часто мы передаём в исключения или логи имя переменной или свойства в виде строки.
Но если имя поменяется, строку придётся искать и менять вручную. Это легко ломает код при рефакторинге.
Подключим стандартную библиотеку:
using System;
Допустим, мы пишем код с «магической» строкой:
public void SetAge(int age)
{
if (age < 0)
throw new ArgumentException("Age cannot be negative", "age");
}
Если потом мы переименуем
age
в personAge
, строку придётся менять вручную — и IDE нас не предупредит.Сейчас перепишем с безопасной конструкцией
nameof
:public void SetAge(int age)
{
if (age < 0)
throw new ArgumentException("Age cannot be negative", nameof(age));
}
🔥 Теперь при переименовании переменной
nameof
автоматически подставит актуальное имя, и ошибка невозможна.Please open Telegram to view this post
VIEW IN TELEGRAM
🔥16👍9❤4😁2
This media is not supported in your browser
VIEW IN TELEGRAM
Здесь публикуют короткие статьи с примерами: как оптимизировать код, использовать возможности Visual Studio, работать с ASP.NET, Azure и инструментами разработки. Всё подано в формате «маленьких трюков», которые экономят время разработчика.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥5❤3
С его помощью можно читать и записывать данные, управлять позицией внутри потока, сбрасывать буферы на целевой ресурс, копировать содержимое между потоками и автоматически освобождать ресурсы
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥22❤6👍6🤝1
В этой статье:
• Пошаговое создание Avalonia-приложения на .NET Core с ReactiveUI
• Организация навигации и роутинг через MVVM шаблон
• Сериализация состояния интерфейса на диск для восстановления
🟡 Рекомендую прочитать на Habr!
Please open Telegram to view this post
VIEW IN TELEGRAM
❤9👍7🔥4
С выходом C# 8 появился новый способ писать условия декларативно и лаконично.
Что важно знать:
• Возвращает результат без лишних строк в вашем коде.
• Упрощает обработку разных вариантов данных в одном месте.
• Обеспечивает явную проверку и надёжность кода при изменениях.
Так вы получите более читаемые условия и не пропустите ни одного случая.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥49🤝13❤7👍4
This media is not supported in your browser
VIEW IN TELEGRAM
Просто напиши, что хочешь увидеть (или загрузи пример), и нейросеть создаст готовые спрайты, движущихся героев, окружение и тайлсеты.
Поддерживаются 4/8 направлений, автоанимация, редактирование деталей прямо в браузере и экспорт в нужных форматах.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10👍7🔥5👎4
Консольная утилита для сжатия и восстановления содержимого папок.
В этой задаче:
• Пользователь вводит пути к папкам и архиву вручную.
• Архив создаётся с сохранением структуры и содержимого папки.
• При распаковке файлы перезаписываются и ошибки обрабатываются.
Такой подход упрощает резервное копирование и обмен данными без потерь.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥18❤6👍6🤝4