Collection Performance: Finding First or Last and Count

Many developers use LINQ methods such as First(), Last(), and Count() to interact with collections. However, these methods can be about 2.33× slower in performance compared to direct indexing. Caution is advised when using indexing to avoid exceptions, and consideration should be given to code readability versus performance.

Collection Performance: Harnessing AsSpan() for Byte Array Conversion

When working with byte arrays, converting to Span can be achieved through AsSpan(). This method offers performance optimization by providing direct access without creating new arrays, efficient memory management, improved code clarity, and future-proofing for .NET framework evolution. Benchmark results show AsSpan() to be twice as performant with minimal memory allocations.

String Performance: Retrieving a Substring

The post discusses optimizing string concatenation in .NET by using the Span type, which significantly enhances performance and reduces memory allocation.

Collection Performance: Adding Items To a Dictionary

The excerpt from "Rock Your Code" discusses two methods for adding items to a Dictionary in .NET: Add() and TryAdd().

Rock Your Code: Coding Standards for Microsoft .NET (8th Edition)

The 8th edition of the book, Rock Your Code: Coding Standards for Microsoft .NET, is available on Amazon. It consolidates Microsoft .NET coding standards and provides supplementary directives. Drawing insights from Microsoft’s code inspection tools, the book covers topics such as project setup, naming standards, class design, coding style, and more. The book's purpose is to facilitate superior code quality and swift integration of new team members. It's designed for use with Visual Studio 2022, C#, and .NET 8.

Microsoft .NET Code Analysis: Add Explicit Cast in foreach() Loops

The article highlights the importance of adding an explicit cast in foreach loops when dealing with collections to avoid potential runtime issues caused by hidden casting. It also suggests simplifying the code using LINQ and optimizing performance by using `AddRange()`.

Microsoft .NET Code Analysis: Make Collection Properties Read-Only

The article discusses the common programming practice of providing access to data collections through properties and highlights the issue of mutability in such properties, which can lead to undesirable collection replacements. To adhere to best practices, the article recommends either removing the property setter or using the init modifier to make the property read-only, emphasizing that read-only properties with collections are supported by binary and XML serialization.

Microsoft .NET Code Analysis: Simplify LINQ Expressions

The article discusses simplifying LINQ expressions in source code by eliminating unnecessary Where() methods and placing predicates directly in FirstOrDefault(). This not only improves code readability but also demonstrates a 1.9 times performance improvement in .NET 8.

Microsoft .NET Code Analysis: Utilize the Pattern Matching ‘not’ Operator

The article discusses how developers can improve code performance and readability by replacing explicit type checks with pattern matching, eliminating the need for redundant type conversions and enhancing code efficiency.

Microsoft .NET Code Analysis: Utilize Pattern Matching to Eliminate the Need for an ‘is’ Check

The author identifies inefficiencies in type conversions within a code sample from the Entity Framework codebase, suggesting improvements through pattern matching. They note 22 instances requiring fixes and recommend using their updated EditorConfig file for similar analyses. Feedback on their open-source project, Spargine, is welcomed.