Best of C#February 2025

  1. 1
    Article
    Avatar of techworld-with-milanTech World With Milan·1y

    Recommended learning resources for C# and .NET in 2025.

    In 2025, the .NET ecosystem continues to grow with the release of .NET 9 and C#. This post offers a curated list of learning resources for various levels, from beginners to advanced, including courses, books, and YouTube channels. Key focus areas include C#, .NET, ASP.NET, and software engineering principles. Additionally, it mentions essential tools and guides for .NET developers looking to stay ahead in their careers.

  2. 2
    Video
    Avatar of nickchapsasNick Chapsas·1y

    Stop Using DateTime in .NET

    In most cases within .NET programming, DateTimeOffset is recommended over DateTime. DateTime only represents a date and time, which can lead to ambiguity if the time zone is unspecified. DateTimeOffset, on the other hand, includes the time zone offset from UTC, making it more precise and suitable for business applications that require client-relevant time zones. Using DateTimeOffset helps avoid errors that could arise from using DateTime with unspecified time zones.

  3. 3
    Video
    Avatar of codemonkeyunityCode Monkey·1y

    TOP 10 C# things you MIGHT not know (I didn't!)

    This post discusses various advanced C# features that the author learned while creating a comprehensive C# course. Highlights include top-level statements for cleaner code, local functions for improved scope management, the use of reflection for dynamic code inspection and execution, and specific terminology clarifications within C# such as methods, access modifiers, parameters, and arguments. The author covers other features like LINQ's query syntax, enum flags, and useful tools in Unity's UI toolkit.

  4. 4
    Article
    Avatar of dotnet.NET Blog·1y

    Announcing Chroma DB C# SDK

    Chroma, an open-source database for AI applications, now has a C# SDK. It supports embedding storage, metadata filtering, vector search, full-text search, and document storage. You can integrate Chroma into .NET applications using the ChromaDB.Client package. Example operations include creating collections, adding data representations (such as movie descriptions), and performing vector searches. The new SDK simplifies AI solutions implementation in .NET and supports integration with Microsoft's AI and data components.

  5. 5
    Article
    Avatar of telerikTelerik·1y

    10 Essential ASP.NET Core Features to Remember

    ASP.NET Core offers features like pattern matching, local functions, and extension methods to make code cleaner and more efficient. The post explores how these features can be applied, including examples using pattern matching, static methods, tuples, expression-bodied members, scoped namespaces, records, delegates, global usings, data annotations, and generics. Emphasis is placed on the simplicity and efficiency these features provide in various scenarios.

  6. 6
    Article
    Avatar of ploehploeh blog·1y

    Modelling data relationships with C# types

    The post explores using the Ghosts of Departed Proofs technique to model data relationships in C#, a continuation from a previous exploration using F#. It provides a detailed example, including 'size proofs' and their practical implementation in a rod-cutting problem, showcasing how the technique can enhance type safety and immutability in APIs.

  7. 7
    Article
    Avatar of devblogsDevBlogs·1y

    .NET 10 Preview 1 is now available!

    The first preview release of .NET 10 is now available, bringing enhancements across .NET Runtime, SDK, libraries, C#, ASP.NET Core, Blazor, and .NET MAUI. Key improvements include new library methods, runtime optimizations, and updates to C# and F#. OpenAPI 3.1 support, Android and iOS enhancements, and updates to Entity Framework Core are also included. Developers are encouraged to install the .NET 10 SDK and use the latest Visual Studio 2022 preview.

  8. 8
    Article
    Avatar of milanjovanovicMilan Jovanović·1y

    Stop Conflating CQRS and MediatR

    The post clarifies the distinction between the CQRS pattern and the MediatR library, which are often misconceived as inherently linked. CQRS is an architectural principle that separates read and write operations, while MediatR implements the mediator pattern to reduce dependencies between components. The post discusses the benefits and challenges of using these tools together and provides examples of implementing CQRS with and without MediatR.

  9. 9
    Video
    Avatar of gamefromscratchGamefromscratch·1y

    C# and Unity Game Development Training Bundle

    Mike from Game From Scratch discusses a Humble Bundle offering video courses for aspiring C# and Unity game developers. The bundle covers various levels, with the $1 tier offering introductory courses and higher tiers including advanced subjects like AI systems and 3D pathfinding. Courses are redeemable on the Packt store and can be downloaded for offline viewing.

  10. 10
    Article
    Avatar of elmahelmah.io·1y

    Unlocking delegate's potential in C#

    Delegates in C# are function pointers that allow method calls to be decoupled from the caller. They can encapsulate multiple methods and help in event-driven programming and callback patterns. Delegates support multicasting and lambda expressions for simpler usage, enhancing code flexibility and maintainability.

  11. 11
    Video
    Avatar of nickchapsasNick Chapsas·1y

    The Most Cursed C# Library

    This tip introduces a creative yet unconventional C# library called 'interpolated pauser'. It allows you to extract variables from a string using a template through reverse string interpolation, making variable extraction simpler without the need for complex regular expressions. The library can be installed via the 'interpolated pauser yid' package.

  12. 12
    Video
    Avatar of nickchapsasNick Chapsas·1y

    Solving A Naming Problem in .NET

    C# 12 introduces the 'Alias any type' feature, allowing you to use the 'using' directive to create aliases for any type in your project. This simplifies complex type names, resolves naming conflicts, defines value Tuple types for shared use in assemblies, and enhances code clarity with descriptive names.

  13. 13
    Article
    Avatar of freecodecampfreeCodeCamp·1y

    How to Use FakeLogger to Make Testing Easier In .Net

    This post explains how to simplify testing logging functionality in .NET using the new FakeLogger feature available from .NET 8 upwards. It covers the challenges of mocking ILogger, the steps for setting up and using FakeLogger, and the benefits of combining it with FluentAssertions for clearer and more maintainable tests. The post includes examples and detailed explanations to help developers efficiently verify log messages in their unit tests.