Oleg Kyrylchuk ๐Ÿ‡บ๐Ÿ‡ฆ

Oleg Kyrylchuk ๐Ÿ‡บ๐Ÿ‡ฆ

@okyrylchuk.dev

.NET Enthusiast Newsletter https://okyrylchuk.dev Help for Ukraine http://ko-fi.com/okyrylchuk or http://paypal.me/okyrylchuk

1.2K followers120 following505 posts

Whatโ€™s next for the .NET Pulse Newsletter? You may have noticed it has been a while since the last .NET Pulse issue. Over the past year, a lot has changed for me: I stepped into a Tech Lead role and had a very active sports season, completing three triathlons and a trail run.

View full thread

Whatโ€™s next for the .NET Pulse Newsletter? You may have noticed it has been a while since the last .NET Pulse issue. Over the past year, a lot has changed for me: I stepped into a Tech Lead role and had a very active sports season, completing three triathlons and a trail run.

Both the new responsibilities and the training schedule took a significant amount of time and energy. At one point, I seriously considered ending the newsletter. In the end, I realised that writing and sharing what I learn is something I still want to continue.

C# 14 introduces user-defined compound assignment operators. In previous versions, you could not overload the += operator. C# 14 allows user types to customize the behavior of compound assignment operators in a way that the target of the assignment is modified in-place.

C# 14 in the preview introduces the field keyword. It lets you write a property accessor body without declaring an explicit backing field. The compiler will replace the field keyword with a backing field. What do you think about this improvement?

C# 14 in the preview allows the null conditional member access operator on the left-hand side of an assignment. Previously, you had to check if the customer was null before assigning the order. In C# 14, the GetCurrentOrder method is not called if the customer is null.

C# 14 in the preview introduces extension members There is a new extension keyword that lets you define extension blocks for extension properties, methods, and operators This means you can group related extension members, enhancing code readability and maintainability Do you like the new feature?

๐ŸŽ‰ I'm incredibly honored to receive the Microsoft Most Valuable Professional award for the 4th time in the Developer Technologies category! Iโ€™m looking forward to another exciting year in the MVP program, continuing to learn, share, and grow with this amazing community.

C# 14 in the preview allows the null conditional member access operator on the left-hand side of an assignment. Previously, you had to check if the customer was null before assigning the order. In C# 14, the GetCurrentOrder method is not called if the customer is null.

Since .NET 5, ASP NET Core has built-in support for the Swashbuckle project (Swagger). ASP NET Core 9 removes Swashbuckle from the template. However, the .NET team added support for OpenAPI document generation. The AddOpenApi method registers the required dependencies.

#1 How to Avoid Common EF Core Performance Pitfalls Entity Framework Core is one of the most popular ORMs in the .NET ecosystem, for good reason. It abstracts away the complexity of working with databases, allowing developers to focus on business logic rather than SQL queries.

System.Text.Json 9 introduces respecting required constructor parameters. You can control the behavior with the new RespectRequiredConstructorParameters JSON serialization option. If it's true, the serializer throws the JsonException for missing required properties.

When should you implement API versioning? The short answer is that as soon as your API is consumed by more than just yourself. This Friday, I'll show you how to manage API Versioning Like A Pro in ASP NET Core. Donโ€™t miss out! Subscribe now! The link is in the comments.

โ€œFan outโ€ refers to distributing or spreading functionality or data flow from a single point to multiple points. In messaging systems, it means to send one message to many recipients.ย  Check my post to learn how easily to fan out HTTP requests in .NET. Link in the comments.

How do you check if a list is not null and has elements? There are several ways to do it: 1. Classic way 2. List.Count way 3. Enumerable.Any way 4. Pattern matching way Which one do you prefer โ€” or do you use a different approach? Let me know in the comments! ๐Ÿ‘‡

C# Tip ๐Ÿ’ก Use string.Join method to concatenate elements of a collection into a single string, inserting a specified separator between each element. โœ” More readable โ€” No loops โœ” Better performance โ€” Avoids unnecessary string allocations โœ” Less error-prone โ€” No need to trim the last separator

1. This Friday, .NET Pulse is diving into something weโ€™ve all been waiting for โ€” the Azure Service Bus Emulator! For years, testing Azure Service Bus locally meant relying on cloud instances, costly workarounds, or incomplete mocks. But not anymore!

I like Refit. Refit is a .NET library designed to make interacting with RESTful APIs easy and efficient. With features like type safety, easy setup, and extensibility, Refit can save you time and reduce boilerplate code in your projects. Check out my post on how to start with Refit.

You can create your source generators. However, Microsoft provides many built-in source generators. One of them can help boost serialization performance. ย  Learn how to use Source Generators with System.Text.Json from my introduction post. okyrylchuk.dev/blog/intro-...

okyrylchuk.devIntro to Serialization with Source Generation in System.Text.JsonSystem.Text.Json serializer uses reflections for serialization and deserialization. Reflection is slow. Learn how you can serialize object using Source Generation in .NET.