#534 – December 01, 2024
Useful in performance-oriented and interop scenarios
C# 12.0: inline arrays
10 minutes by Ian Griffiths
A new feature in C# 12.0 enables data types to define fixed-size arrays that don't require separate array objects on the heap. Learn how this is useful in performance-oriented and interop scenarios.
Debug Smarter with Sentry’s .NET Error and Performance Monitoring
sponsored by Sentry
Monitor .NET errors and performance in real-time, pinpoint issues faster, and optimize your app’s reliability.
ReadLine Patterns
2 minutes by nietras
This article explains different patterns for reading lines from TextReader in .NET, focusing on the use of pattern matching syntax with ReadLine. It demonstrates how modern C# pattern matching can simplify reading lines of text through both synchronous and asynchronous approaches, while warning about a potential infinite loop when using 'is var' pattern.
A Guide to Secure Password Hashing with Spargine
less than a minute by David McCarter
Effective password hashing is essential for application security, helping ensure that password data remains protected. The SHA256PasswordHasher class in the DotNetTips.Spargine.8.Core assembly is designed for precisely this purpose, enabling secure password hashing and verification. This article introduces the class, discusses its features, and provides examples of how to use it for secure password management in .NET applications.
LINQ Updates in .NET 9
4 minutes by Sarah Dutkiewicz
Sarah introduces three new LINQ methods coming in .NET 9: CountBy for counting items by category, AggregateBy for calculating aggregated values over grouped data, and Index for accessing element positions in sequences.
Object Calisthenics: Other points of views
9 minutes by Pierre Belin
This article discusses different developers' approaches to implementing Object Calisthenics rules - a set of nine coding guidelines aimed at improving code quality. Multiple developers shared their experiences applying these rules to the same codebase, demonstrating that there's no one-size-fits-all approach to implementing clean code practices.