A replacement for BinaryFormatter in .NET 8
Explores alternatives to the deprecated BinaryFormatter in .NET 8, focusing on JSON and MessagePack for object serialization.
Explores alternatives to the deprecated BinaryFormatter in .NET 8, focusing on JSON and MessagePack for object serialization.
Explains how to store complex objects and lists as JSON in databases using Entity Framework 8 and 7, including configuration and benefits.
Explains the enhanced logging features in .NET 8, focusing on the improved LoggerMessageAttribute and source generators for better performance and readability.
Explains how C# 12's new primary constructor feature reduces boilerplate code, especially in Dependency Injection scenarios.
Explains the memory leak issue with C# events and demonstrates how to implement the Weak Event pattern using weak references.
Explains C# 12's new collection literals feature, a concise syntax for creating and merging collections and dictionaries.
Explains covariance and contravariance in C# generics with practical examples from the .NET Framework.
Explores using SIMD instructions and Vector<T> to accelerate LINQ queries in C# for high-performance data processing.
A guide to implementing in-memory caching in .NET using IMemoryCache to improve application performance and reduce database calls.
Explores the Liskov Substitution Principle using the classic 'Is a square a rectangle?' example in object-oriented programming.
Compares performance of C# collection types like List<T>, ReadOnlyCollection<T>, ImmutableArray<T>, and ImmutableList<T> in iteration benchmarks.
Entity Framework 8 adds native SQL Server support for .NET's DateOnly and TimeOnly types, eliminating the need for custom converters.
Explains software cohesion as a metric for refactoring, with a C# example showing how to split a low-cohesion class.
Explains the pitfalls of comparing ReadOnlySpan<char> objects in C#/.NET, highlighting differences from string comparison due to memory representation.
A comprehensive guide to the various collection-like types in .NET (C#), explaining their differences, use cases, and best practices for selection.
An analysis of ChatGPT's capabilities and limitations for .NET and general programming, including code generation accuracy and its impact on platforms like Stack Overflow.
Explains the new Environment.IsPrivilegedProcess API in .NET 8 for checking if a process has administrator rights.
Explains the key differences between abstraction and encapsulation, two fundamental object-oriented programming concepts.
Explores new code analyzers coming in .NET 8, focusing on performance improvements like case-insensitive string comparisons.
An interview about The Collab Lab, a program providing real-world team collaboration experience for early-career and underrepresented web developers.