2023-11-05 csharpdotnetdotnet-8 .NET 8 performance: 10x faster GetGenericTypeDefinition Benchmarking GetGenericTypeDefinition in .NET 8 vs .NET 7 shows nearly 10x faster performance. See benchmark code and results using BenchmarkDotNet.
2023-11-04 csharpdotnet How to take a screenshot in .NET core Learn how to capture a screenshot of your entire desktop from a .NET console application using System.Windows.Forms. Windows-only solution covering all displays.
2023-11-02 csharpdotnetdotnet-8 C# How to update a readonly field using UnsafeAccessor Learn how to update a readonly field in C# using UnsafeAccessor, an alternative to reflection without the performance penalty. Available in .NET 8.
2023-11-01 csharpdotnetdotnet-8 .NET 8 Performance: UnsafeAccessor vs. Reflection Benchmarking UnsafeAccessor vs Reflection in .NET 8. See how UnsafeAccessor achieves zero-overhead performance compared to traditional reflection.
2023-10-29 csharpdotnetdotnet-8 C# – How to mark features as experimental Starting with C# 12, a new ExperimentalAttribute lets you mark types, methods, properties, or assemblies as experimental. Learn how to use it with diagnosticId, pragma tags, and UrlFormat.
2023-10-28 csharpdotnet C# – ref readonly parameters The ref readonly modifier in C# provides a more transparent way of passing read-only references. Learn how it improves on the in modifier with better constraints and caller visibility.
2023-10-26 csharpdotnetdotnet-8 C# – How to shuffle an array? The easiest way to shuffle an array in C# is using Random.Shuffle, introduced in .NET 8. It works in-place on both arrays and spans.
2023-10-20 csharp C# – What is a NullReferenceException, and how to fix it? Learn what causes a NullReferenceException in C#, how to debug it, and how to prevent it using null checks, the null-conditional operator, and nullable reference types.
2023-10-19 csharpdotnetdotnet-8 Add/Remove TypeInfoResolver to existing JsonSerializerOptions Learn how to add or remove TypeInfoResolver instances on existing JsonSerializerOptions using the new TypeInfoResolverChain property in .NET 8.
2023-10-12 csharpdotnet C# 12 – Interceptors Learn about C# 12 interceptors, an experimental .NET 8 compiler feature that lets you replace method calls at compile time using the InterceptsLocation attribute.