Sign in

Oleg Kyrylchuk 🇺🇦

@okyrylchuk.dev
1.2K followers 120 following 505 posts

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

PostsRepliesMedia
Oleg Kyrylchuk 🇺🇦 @okyrylchuk.dev · 14/12/2025
The scope of topics will expand beyond .NET to include microservice architecture, tech leadership, AI, and occasionally Azure. If these topics sound interesting to you, stay subscribed or join the list to receive new issues in the coming year. go.okyrylchuk.dev/vbokBk
okyrylchuk.dev
.NET Pulse | Level Up Your .NET Skills
.NET Pulse: A free weekly newsletter about .NET. Embark on a journey of continuous learning and discovery!
130
Oleg Kyrylchuk 🇺🇦 @okyrylchuk.dev · 14/12/2025
Going forward, there will be a few changes: The newsletter will no longer follow a strict weekly schedule. Issues will come out when there is something valuable to share and when time allows.
110
Oleg Kyrylchuk 🇺🇦 @okyrylchuk.dev · 14/12/2025
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.
110
Oleg Kyrylchuk 🇺🇦 @okyrylchuk.dev · 14/12/2025
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.
130
Oleg Kyrylchuk 🇺🇦 @okyrylchuk.dev · 18/11/2025
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.
031
Oleg Kyrylchuk 🇺🇦 @okyrylchuk.dev · 16/10/2025
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?
060
Oleg Kyrylchuk 🇺🇦 @okyrylchuk.dev · 15/10/2025
C# 14 in the preview introduces partial constructors and events. They must include exactly one defining declaration and one implementing declaration. The implementation declaration of a partial event must include add and remove accessors.
151
Oleg Kyrylchuk 🇺🇦 @okyrylchuk.dev · 14/10/2025
C# 14 in the preview allows an unbound generic type as an argument to nameof. For example, nameof(List<>) returns List. Previously, you could pass only closed generic types, such as List<int>, to return List.
010
Oleg Kyrylchuk 🇺🇦 @okyrylchuk.dev · 13/10/2025
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.
2245
Oleg Kyrylchuk 🇺🇦 @okyrylchuk.dev · 12/10/2025
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?
1155
Oleg Kyrylchuk 🇺🇦 @okyrylchuk.dev · 11/07/2025
🎉 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.
0120
Oleg Kyrylchuk 🇺🇦 @okyrylchuk.dev · 08/05/2025
Level up your .NET skills — join 2,960 engineers reading .NET Pulse! Subscribe: go.okyrylchuk.dev/vbokBk
okyrylchuk.dev
.NET Pulse | Level Up Your .NET Skills
.NET Pulse: A free weekly newsletter about .NET. Embark on a journey of continuous learning and discovery!
000
Oleg Kyrylchuk 🇺🇦 @okyrylchuk.dev · 08/05/2025
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.
131
Oleg Kyrylchuk 🇺🇦 @okyrylchuk.dev · 06/05/2025
Level up your .NET skills — join 2,960 engineers reading .NET Pulse! Subscribe: go.okyrylchuk.dev/vbokBk
okyrylchuk.dev
.NET Pulse | Level Up Your .NET Skills
.NET Pulse: A free weekly newsletter about .NET. Embark on a journey of continuous learning and discovery!
000
Oleg Kyrylchuk 🇺🇦 @okyrylchuk.dev · 06/05/2025
C# 14 in the preview allows an unbound generic type as an argument to nameof. For example, nameof(List<>) returns List. Previously, you could pass only closed generic types, such as List<int>, to return List.
160
Oleg Kyrylchuk 🇺🇦 @okyrylchuk.dev · 30/04/2025
The MapOpenApi method registers OpenAPI endpoints. --- Level up your .NET skills — join 2,940 engineers reading .NET Pulse! Subscribe: go.okyrylchuk.dev/vbokBk
okyrylchuk.dev
.NET Pulse | Level Up Your .NET Skills
.NET Pulse: A free weekly newsletter about .NET. Embark on a journey of continuous learning and discovery!
000
Oleg Kyrylchuk 🇺🇦 @okyrylchuk.dev · 30/04/2025
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.
130
Oleg Kyrylchuk 🇺🇦 @okyrylchuk.dev · 23/04/2025
Don't forget to join over 2,920 engineers reading the .NET Pulse newsletter. Subscribe: go.okyrylchuk.dev/vbokBk Remember to confirm your subscription!
okyrylchuk.dev
.NET Pulse | Level Up Your .NET Skills
.NET Pulse: A free weekly newsletter about .NET. Embark on a journey of continuous learning and discovery!
010
Oleg Kyrylchuk 🇺🇦 @okyrylchuk.dev · 23/04/2025
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?
130
Oleg Kyrylchuk 🇺🇦 @okyrylchuk.dev · 18/04/2025
#3 This Friday in the .NET Pulse newsletter, we'll examine common EF Core performance pitfalls, why they happen, and, most importantly, how to avoid them.  Don't miss it and subscribe now! Subscribe: go.okyrylchuk.dev/vbokBk
okyrylchuk.dev
.NET Pulse | Level Up Your .NET Skills
.NET Pulse: A free weekly newsletter about .NET. Embark on a journey of continuous learning and discovery!
000
Oleg Kyrylchuk 🇺🇦 @okyrylchuk.dev · 18/04/2025
#2 But here's the catch: The abstraction is only helpful until it gets in your way. Understanding how EF Core works under the hood becomes essential when things go wrong, like performance issues.
110
Oleg Kyrylchuk 🇺🇦 @okyrylchuk.dev · 18/04/2025
#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.
140
Oleg Kyrylchuk 🇺🇦 @okyrylchuk.dev · 13/04/2025
Join over 2,910 engineers reading the .NET Pulse newsletter. Subscribe: go.okyrylchuk.dev/vbokBk Remember to confirm your subscription!
okyrylchuk.dev
.NET Pulse | Level Up Your .NET Skills
.NET Pulse: A free weekly newsletter about .NET. Embark on a journey of continuous learning and discovery!
000
Oleg Kyrylchuk 🇺🇦 @okyrylchuk.dev · 13/04/2025
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.
120
Oleg Kyrylchuk 🇺🇦 @okyrylchuk.dev · 10/04/2025
Join over 2,900 engineers already reading the .NET Pulse newsletter. Subscribe: go.okyrylchuk.dev/vbokBk
okyrylchuk.dev
.NET Pulse | Level Up Your .NET Skills
.NET Pulse: A free weekly newsletter about .NET. Embark on a journey of continuous learning and discovery!
000
Oleg Kyrylchuk 🇺🇦 @okyrylchuk.dev · 10/04/2025
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.
130
Oleg Kyrylchuk 🇺🇦 @okyrylchuk.dev · 09/04/2025
Don't forget to join over 2,890 engineers reading the .NET Pulse newsletter to get such posts directly into your inbox. go.okyrylchuk.dev/RtblvE
okyrylchuk.dev
How Easily to Fan Out HTTP Requests in .NET
An easy way how to fan out HTTP requests in .NET. A new method introduced in .NET 6.
000
Oleg Kyrylchuk 🇺🇦 @okyrylchuk.dev · 09/04/2025
“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.
110
Oleg Kyrylchuk 🇺🇦 @okyrylchuk.dev · 08/04/2025
Level up your .NET skills — join over 2,890 engineers reading .NET Pulse weekly! Subscribe: go.okyrylchuk.dev/vbokBk Remember to confirm your subscription!
okyrylchuk.dev
.NET Pulse | Level Up Your .NET Skills
.NET Pulse: A free weekly newsletter about .NET. Embark on a journey of continuous learning and discovery!
000
Oleg Kyrylchuk 🇺🇦 @okyrylchuk.dev · 08/04/2025
.NET 9 introduces the new LINQ method CountBy. It allows for calculating the frequency of a key. This improvement looks nice. What do you think?
261
Oleg Kyrylchuk 🇺🇦 @okyrylchuk.dev · 07/04/2025
You can teach new features by using 4th
000
Oleg Kyrylchuk 🇺🇦 @okyrylchuk.dev · 07/04/2025
Perhaps 😀
000
Oleg Kyrylchuk 🇺🇦 @okyrylchuk.dev · 07/04/2025
You can also pass the DateTimeOffset when creating a new Guide to control TimeStamp.  --- I wrote about Guid v7 in my .NET Pulse newsletter. Join over 2,890 engineers already reading it. Subscribe: go.okyrylchuk.dev/vbokBk Remember to confirm your subscription!
okyrylchuk.dev
.NET Pulse | Level Up Your .NET Skills
.NET Pulse: A free weekly newsletter about .NET. Embark on a journey of continuous learning and discovery!
000
Oleg Kyrylchuk 🇺🇦 @okyrylchuk.dev · 07/04/2025
.NET 9 introduces a new GUID implementation based on timestamp and random. It makes GUID sequential, which makes it more suitable for relationship databases. Also, GUID gets the Version property to check the version of the created GUID.
161
Oleg Kyrylchuk 🇺🇦 @okyrylchuk.dev · 05/04/2025
Join over 2,870 engineers reading the .NET Pulse newsletter. Subscribe: go.okyrylchuk.dev/vbokBk Remember to confirm your subscription!
okyrylchuk.dev
.NET Pulse | Level Up Your .NET Skills
.NET Pulse: A free weekly newsletter about .NET. Embark on a journey of continuous learning and discovery!
000
Oleg Kyrylchuk 🇺🇦 @okyrylchuk.dev · 05/04/2025
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! 👇
720
Oleg Kyrylchuk 🇺🇦 @okyrylchuk.dev · 02/04/2025
Join over 2,870 engineers reading the .NET Pulse newsletter. go.okyrylchuk.dev/vbokBk Remember to confirm your subscription!
okyrylchuk.dev
.NET Pulse | Level Up Your .NET Skills
.NET Pulse: A free weekly newsletter about .NET. Embark on a journey of continuous learning and discovery!
000
Oleg Kyrylchuk 🇺🇦 @okyrylchuk.dev · 02/04/2025
How to control the delay in the Task.Delay method in tests? You can pass the TimeProvider to the Task.Delay method since .NET 8. The TimeProvider will interpret the delay. You can use FakeTimeProvider to control the delay in tests.
160
Oleg Kyrylchuk 🇺🇦 @okyrylchuk.dev · 01/04/2025
Join over 2,870 engineers reading the .NET Pulse newsletter. go.okyrylchuk.dev/vbokBk Remember to confirm your subscription!
okyrylchuk.dev
.NET Pulse | Level Up Your .NET Skills
.NET Pulse: A free weekly newsletter about .NET. Embark on a journey of continuous learning and discovery!
010
Oleg Kyrylchuk 🇺🇦 @okyrylchuk.dev · 01/04/2025
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
161
Oleg Kyrylchuk 🇺🇦 @okyrylchuk.dev · 31/03/2025
Join over 2,870 engineers reading the .NET Pulse newsletter. Subscribe: go.okyrylchuk.dev/vbokBk Remember to confirm your subscription!
okyrylchuk.dev
.NET Pulse | Level Up Your .NET Skills
.NET Pulse: A free weekly newsletter about .NET. Embark on a journey of continuous learning and discovery!
000
Oleg Kyrylchuk 🇺🇦 @okyrylchuk.dev · 31/03/2025
The OrderedDictionary type has existed in .NET since an early age. .NET 9 introduces the generic counterpart. It creates a dictionary where the order of key-value pairs can be maintained. Have you ever used OrderedDictionary?
241
Oleg Kyrylchuk 🇺🇦 @okyrylchuk.dev · 27/03/2025
3. 🔥 Don’t miss out! Subscribe now to get the latest insights delivered straight to your inbox: go.okyrylchuk.dev/vbokBk
okyrylchuk.dev
.NET Pulse | Level Up Your .NET Skills
.NET Pulse: A free weekly newsletter about .NET. Embark on a journey of continuous learning and discovery!
000
Oleg Kyrylchuk 🇺🇦 @okyrylchuk.dev · 27/03/2025
2. Microsoft has finally released an official emulator, and in this week’s issue, we’ll show you exactly how to get started, why it’s a game-changer, and how it fits into your .NET development workflow.
100
Oleg Kyrylchuk 🇺🇦 @okyrylchuk.dev · 27/03/2025
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!
122
Oleg Kyrylchuk 🇺🇦 @okyrylchuk.dev · 26/03/2025
"Boost Your .NET Development with Refit" okyrylchuk.dev/blog/boost-...
okyrylchuk.dev
Boost Your .NET Development with Refit
Learn how Refit can boost your .NET Development. Explore how flexible and feature-reached Refit is.
000
Oleg Kyrylchuk 🇺🇦 @okyrylchuk.dev · 26/03/2025
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.
110
Oleg Kyrylchuk 🇺🇦 @okyrylchuk.dev · 25/03/2025
Level up your .NET skills — join 2,860 engineers reading .NET Pulse weekly! Remember to confirm your subscription! Subscribe: go.okyrylchuk.dev/vbokBk
okyrylchuk.dev
.NET Pulse | Level Up Your .NET Skills
.NET Pulse: A free weekly newsletter about .NET. Embark on a journey of continuous learning and discovery!
000
Oleg Kyrylchuk 🇺🇦 @okyrylchuk.dev · 25/03/2025
ASP NET Core 9 allows the disabling of HTTP metrics and the non-recording of values for specific endpoints and requests. For instance, automated systems check the Health endpoint, so recording metrics for it is not particularly helpful.
290
Oleg Kyrylchuk 🇺🇦 @okyrylchuk.dev · 07/03/2025
😂
000