Библиотека шарписта | C#, F#, .NET, ASP.NET
22.6K subscribers
2.36K photos
38 videos
85 files
4.55K links
Все самое полезное для C#-разработчика в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/b60af5a4

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead
Download Telegram
⚡️ Nullable vs null-check

работа с null всегда была источником ошибок. Каждый хоть раз ловил NullReferenceException в рантайме.
Есть два подхода: старый — вручную проверять null, и новый — использовать nullable reference types с поддержкой компилятора.

Код с ручной проверкой на null:
public string GetUserName(User? user)
{
if (user == null)
return "Anonymous";

return user.Name;
}


Плюсы:

• просто и понятно
• работает везде

Минусы:

• легко забыть проверить
• ошибки проявятся только в рантайме

С включённой фичей #nullable enable компилятор начинает помогать:
public string GetUserName(User? user)
{
return user?.Name ?? "Anonymous";
}


User? явно говорит: объект может быть null
• компилятор подсветит, если забыли проверить
• меньше бойлерплейта, больше читаемости

🐸 Библиотека шарписта

#sharp_view
Please open Telegram to view this post
VIEW IN TELEGRAM
1❤‍🔥5🥱53