Best of C#December 2024

  1. 1
    Article
    Avatar of game_developersGame Developers·1y

    Summary of features and use-cases of game engines!

    The post compares the pros and cons of Unity, Unreal Engine, and Godot for game development. It highlights Unity's strong community and extensive multi-platform support, Unreal Engine's superior 3D graphics and visual scripting, and Godot's lightweight nature and support for multiple languages. The author concludes that it's important to use the tools you know best and provides recommendations for beginners and various game development scenarios.

  2. 2
    Article
    Avatar of watercoolerWatercooler·1y

    Imposter ඞ

  3. 3
    Article
    Avatar of codemazeCode Maze·1y

    Chain of Responsibility Design Pattern in C#

    The Chain of Responsibility design pattern breaks down logic into smaller components with distinct responsibilities, chaining them together to accomplish a task, promoting the Single Responsibility Principle and loose coupling. This pattern's implementation in C# is demonstrated through a rental request processing API. The post also highlights its advantages, such as workflow synthesis, and challenges, such as dependency order and possible request handling gaps.

  4. 4
    Article
    Avatar of bartwullemsThe Art of Simplicity·1y

    Efficient searching in .NET with SearchValues

    The post explores the SearchValues functionality introduced in .NET 8 and enhanced in .NET 9. SearchValues<T> optimizes searches by specifying values to search for and is beneficial when the same search values are frequently used. It now supports string values in addition to simple data types like char.

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

    Central Package Management in .NET - Simplify NuGet Dependencies

    Central Package Management (CPM) in .NET simplifies managing NuGet package versions across multiple projects by allowing developers to set package versions centrally in a single file. This resolves version conflicts, reduces bugs, and streamlines development. Setting up CPM requires NuGet 6.2, .NET SDK 6.0.300, and Visual Studio 2022 17.2 or newer. Instructions are provided for setting up CPM, overriding package versions, and making packages global across projects.

  6. 6
    Article
    Avatar of atomicobjectAtomic Spin·1y

    LINQ Expressions: LINQuistics of C#

    LINQ expressions in C# enhance coding efficiency by simplifying complex SQL queries and allowing powerful data manipulation. They offer a concise and readable way to retrieve and sort data, applicable both within SQL contexts and with general collections in C#. Examples include accessing specific messages from databases, sorting unique IDs from templates, and creating mock data for testing. LINQ helps in making code more efficient and easier to manage.

  7. 7
    Article
    Avatar of devsquadDev Squad·1y

    🤔 Are you unintentionally slowing down your .NET APIs?

    Discover how implementing the Result Pattern for error handling in .NET APIs can lead to significant performance improvements. Learn to build faster and more resilient Web APIs by replacing exceptions with results.

  8. 8
    Article
    Avatar of unityUnity·1y

    Ultimate guide: Multiplayer Networking for Advanced Unity Developers

    Experienced Unity developers can now access a comprehensive guide on multiplayer networking, offering foundational concepts, practical examples, and tips on avoiding common pitfalls. The guide includes an in-depth overview of network synchronization, client-server communication, and various network topologies, along with hands-on examples using Unity's Netcode for GameObjects. It also highlights Unity's latest tools and sample projects to facilitate a smoother transition into multiplayer game development.

  9. 9
    Article
    Avatar of softwaretestingmagazineSoftware Testing Magazine·1y

    Open Source .NET Behavior-Driven Development (BDD) Tools

    Behavior-Driven Development (BDD) is an Agile approach integrating requirement gathering, documentation, and acceptance testing by writing human-readable sentences describing application features. Several open source .NET BDD tools like SpecFlow, BDDfy, Concordion.NET, and others help store requirements as live documentation and perform functional or acceptance tests, ensuring correct implementation of features.

  10. 10
    Article
    Avatar of infoworldInfoWorld·1y

    Build a server-side web app with .NET, C#, and HTMX

    Learn how to build a dynamic server-side web app using .NET, C#, and HTMX. This guide walks you through creating a simple quote application, covering project setup, creating model, repository, controller, and view classes. It demonstrates the use of the Razor templating engine and HTMX for Ajax functionality to enhance the user experience without writing JavaScript.

  11. 11
    Article
    Avatar of bartwullemsThe Art of Simplicity·1y

    Structured output with Ollama

    Structured Outputs ensure responses follow a JSON Schema, enabling automated processing without invalid JSON. Recently, Ollama incorporated Structured Outputs support. Here's how to use this feature with C# client OllamaSharp by defining response models, initializing a client instance, and setting up a request with the defined JSON schema. However, using this feature with the Semantic Kernel Ollama connector currently shows unstructured responses despite correct configuration.

  12. 12
    Article
    Avatar of codemazeCode Maze·1y

    Comparison of Rebus, NServiceBus, and MassTransit in .NET

    Messaging systems are essential for scalable and distributed applications in .NET. This post compares three popular .NET service bus libraries: Rebus, NServiceBus, and MassTransit. It highlights their setup, messaging capabilities, error handling strategies, and security features. Rebus is lightweight and flexible, suitable for small to medium applications. NServiceBus offers advanced tools for enterprise-level applications, while MassTransit provides a balance of simplicity and advanced features for medium to large applications. Supported transports, saga implementations, and community support are also discussed.

  13. 13
    Article
    Avatar of aspnetASP.NET Blog·1y

    Top .NET Videos & Live Streams of 2024

    2024 saw significant engagement with .NET content through the .NET YouTube channel, featuring over 260 new videos and 150 live streams, covering topics like async/await, ASP.NET Core, .NET Aspire, and Blazor. Key events included .NET Conf 2024, which launched .NET 9, and other dedicated streams focusing on AI development and Azure integration. Popular series included Deep .NET by Scott Hanselman and Stephen Toub, and the Let’s Learn .NET live stream series.

  14. 14
    Article
    Avatar of itnextITNEXT·1y

    Registerly: Simplifying Dependency Injection with Attributes

    Registerly is an open-source NuGet package that simplifies the process of registering services in Microsoft's dependency injection container using attributes. It reduces boilerplate code and enhances maintainability by allowing developers to use attributes for DI registration. The post provides examples of both basic and advanced usage, including custom mapping strategies and programmatic registration of services.