Best of C#November 2025

  1. 1
    Article
    Avatar of csharpcornerC# Corner·27w

    Understanding the volatile Keyword in C# — With a Real-World Example

    The volatile keyword in C# ensures that shared variables are always read from and written to main memory, preventing threads from seeing stale cached values. While it guarantees visibility of changes across threads, it doesn't provide atomicity or replace locks for thread synchronization. A practical example demonstrates how volatile prevents redundant authentication calls in a multi-threaded background worker, though proper locking mechanisms are still needed for complete thread safety.

  2. 2
    Article
    Avatar of gzasiv4jjdtovk6orcp3xBarion·26w

    I have never seen good AI code (challenge)

    A developer challenges the community to prove that LLM-generated code can meet professional standards for production use. They're specifically looking for examples that demonstrate good balance between readability, maintainability, reusability, simplicity, and performance, with preference for immutable and declarative design patterns. The author uses AI daily but claims to have never encountered AI-generated code worthy of inclusion in long-term projects.

  3. 3
    Article
    Avatar of collectionsCollections·28w

    Introducing Visual Studio 2026 and .NET 10 LTS: A Leap Forward in Development

    .NET 10 brings major performance and productivity improvements, with Blazor achieving 76% faster loading times through optimized script delivery and 20% faster component rendering. Visual Studio 2026 introduces AI-native capabilities with GitHub Copilot integration, 50% faster solution loading, and adaptive debugging tools. The release includes built-in passkey authentication, declarative state persistence, 10x faster hot reload for large apps, and full C# 14 support with over 5,000 bug fixes implemented from community feedback.

  4. 4
    Article
    Avatar of infoworldInfoWorld·28w

    C# rises in Tiobe language popularity index

    C# has become the fastest-growing language on Tiobe's popularity index with a 7.65% rating, gaining 2.67 percentage points year-over-year. The language now trails Java by less than one percentage point and could overtake it for the first time, driven by its cross-platform capabilities, open source nature, and Microsoft's strong backing. Python continues to lead the index at 23.37%, though its growth has plateaued. C# is a strong contender for Tiobe's 2025 Language of the Year award.

  5. 5
    Article
    Avatar of ploehploeh blog·28w

    100% coverage is not that trivial

    Challenges the common belief that achieving 100% code coverage is trivial by writing assertion-free tests with try/catch blocks. Demonstrates through practical examples that real-world code with database queries and indirect inputs requires substantial integration testing effort to reach high coverage. Argues that while code coverage remains a poor target metric due to human response to incentives, high coverage numbers are genuinely difficult to achieve and indicate meaningful testing work.

  6. 6
    Video
    Avatar of zoranhorvatZoran Horvat·26w

    Property Patterns Will Change How You Write C# Code

    Property patterns in C# enable declarative code by matching objects against property conditions using switch expressions. This feature, introduced in C# 8 alongside nullable reference types, transforms complex if-else chains into concise, readable pattern matching statements. The approach is demonstrated through string formatting examples and a complete HVAC control system implementation, showing how dozens of conditional branches can be replaced with compact, maintainable pattern matching logic that provides compile-time safety and improved code organization.

  7. 7
    Article
    Avatar of jetbrainsJetBrains·28w

    Rider 2025.3: Day-One Support for .NET 10 and C# 14, a New Default UI, and Faster Startup

    Rider 2025.3 launches with same-day support for .NET 10 SDK and complete C# 14 implementation, including extension members, extension operators, and user-defined compound assignment operators. The release introduces the Islands theme as the new default UI, delivers up to 20% faster startup times for Unreal Engine projects, and integrates ASP.NET and database monitoring into a unified tool window. Game developers gain enhanced debugging capabilities for Unity IL code, Unreal Engine Android builds with constexpr debugging, and improved Godot integration with scene-specific debugging and GDExtension templates. Additional improvements include Perforce MCP server support and syntax highlighting for inactive preprocessor branches.

  8. 8
    Article
    Avatar of dotnet.NET Blog·27w

    Post-Quantum Cryptography in .NET

    .NET 10 introduces post-quantum cryptography support with four new algorithms: ML-KEM, ML-DSA, SLH-DSA, and Composite ML-DSA. The implementation breaks from the traditional AsymmetricAlgorithm base class pattern, introducing a new design where instances represent keys rather than algorithms, with improved disposal semantics and extensive use of the Template Method Pattern. The new classes minimize code duplication in derived types, use Span-based APIs for performance, and include platform-specific implementations for Windows (CNG) and Linux (OpenSSL 3.5+). Integration extends to X.509 certificates, TLS 1.3, SignedCms, and COSE, though some methods remain experimental pending final specification publication.

  9. 9
    Video
    Avatar of nickchapsasNick Chapsas·29w

    Big Breaking Changes in .NET 10

    .NET 10 introduces several breaking changes developers should be aware of before upgrading. The IWebHost interface is now obsolete in favor of IHost, and projects should use WebApplication.CreateBuilder instead of WebHostBuilder. The new 'field' keyword can conflict with existing backing fields named 'field', requiring explicit 'this.field' or '@field' syntax. NuGet restore now audits transitive packages by default, which may fail builds when treating warnings as errors. System.Linq.Async is now built into the framework, eliminating the need for the separate NuGet package but potentially causing ambiguity in existing projects. Additional changes include implicit conversions for Span<T> and ReadOnlySpan<T>, and the new .slnx solution format.

  10. 10
    Article
    Avatar of collectionsCollections·29w

    .NET Conf: Explore the Future with .NET 10 and Visual Studio 2026

    .NET Conf 2025 is a free virtual conference from November 11-13 featuring the launch of .NET 10 and Visual Studio 2026. The event covers Visual Studio 2026's enhanced profiler and debugger tools, .NET 10 migration capabilities with Azure integration, C# 14 features, Blazor and .NET MAUI improvements, and AI integrations including Copilot advancements and Microsoft Agent Framework. Sessions include Microsoft experts and global community speakers sharing real-world applications and advanced techniques, with an additional Student Zone day on November 14 for beginners.

  11. 11
    Article
    Avatar of devblogsDevBlogs·26w

    Announcing OData .NET (ODL) 9 Preview 3 Release

    OData .NET 9 Preview 3 introduces breaking changes and modernizations including safer action query defaults that return null for nullable types, removal of ReadUntypedAsString requiring annotations inside structured objects, ReadOnlySpan overloads for allocation-free model lookups, replacement of legacy Date/TimeOfDay with System.DateOnly/TimeOnly, key alias support for complex properties, and fixes for .NET 8 obsoletion warnings and .NET 10 LINQ expression compatibility. The release removes EF CSDL support and custom transcoding in favor of framework APIs.

  12. 12
    Article
    Avatar of milanjovanovicMilan Jovanović·27w

    Exploring C# File-based Apps in .NET 10

    .NET 10 introduces file-based apps, allowing developers to write and execute C# code in a single .cs file without project or solution files. This feature enables quick scripting scenarios while maintaining C#'s type safety, performance, and access to NuGet packages through special #: directives. Developers can create utilities, data processing scripts, and even Aspire AppHost configurations in single files, with the option to convert to full projects when needed. The feature addresses C#'s traditional ceremony overhead, making it more competitive with scripting languages for quick tasks and prototyping.

  13. 13
    Video
    Avatar of nickchapsasNick Chapsas·28w

    Date and Time correctly in .NET

    Instead of using DateTime for storing dates or times separately in .NET, use the DateOnly and TimeOnly types. DateOnly represents dates without time components, while TimeOnly represents times without dates. This approach clarifies intent, reduces confusion from ignoring components or creating arbitrary values, and improves code maintainability. Both types can be converted to and from DateTime when needed.

  14. 14
    Video
    Avatar of zoranhorvatZoran Horvat·28w

    This New Feature Gives Superpower to C# Record Types

    C# 14 introduces extension methods for record types, enabling static factory methods to be attached directly to types rather than separate classes. The guide demonstrates building domain models with records using factory methods for validation, with expressions for non-destructive mutation, extension methods for behavior, and pattern matching with switch expressions. Records reduce code length by 2-3x and significantly decrease bugs through immutability and built-in features.

  15. 15
    Video
    Avatar of zoranhorvatZoran Horvat·27w

    Improve API Responsiveness With Streaming JSON Deserialization

    When API endpoints receive large JSON arrays under high concurrent load, traditional deserialization can cause memory spikes and server unresponsiveness. Using streaming JSON deserialization with DeserializeAsyncEnumerable allows processing individual array elements as they arrive, reducing memory consumption by 20x and response time by 4x during traffic spikes, while maintaining similar performance under normal loads.

  16. 16
    Article
    Avatar of collectionsCollections·27w

    Announcing New Features in F# 10 and C# 14 with .NET 10

    F# 10 ships with .NET 10, bringing ergonomic improvements and performance optimizations without major breaking changes. Key enhancements include scoped warning suppression, auto property access modifiers, ValueOption for optional parameters to reduce heap allocations, tail-call optimization for computation expressions, concurrent awaiting in task expressions with the and! keyword, improved compiler performance through type subsumption caching, parallel compilation in preview mode, and better trimming support for smaller assemblies.