Issues » #432

#432 – September 12, 2022

sponsor

Segment is now free for Startups!

Segment is an API-first analytics solution that empowers 15,000+ startups to scale their data infrastructure. Collect data from web, server, mobile, and cloud apps; send it to 300+ data destinations. See if you qualify for our startup program. Get $50K in Segment Credits w/ C# Digest.

this week's favorite

A comprehensive design patterns library

In software engineering, a design pattern is a general repeatable solution to a commonly occurring problem in software design. A design pattern isn't a finished design that can be transformed directly into code. It is a description or template for how to solve a problem that can be used in many different situations. In addition, design patterns allow developers to communicate using well-known, well understood names for software interactions.

Working with System.Random and threads safely in .NET Core and .NET Framework

In this post I look at some of the ways you can misuse System.Random for generating random numbers, specifically around thread safety. I start by showing how to use the built-in thread-safe Random generator in .NET 6. I then step back to previous .NET Core implementations, before the thread-safe Random generator was added, and show how to add your own. Finally, we take one more step back to .NET Framework, and look at he issues that arise there.

10 Tiny Things in C# I Wish Were Different

In this blog post I look at a few things I wish were different in C# and .NET. I consider this an anti-post in the sense that I actually believe there is an unsound obsession in programming circles with counting code lines or characters as exemplified in my own blog post World’s Smallest C# Program (featuring N).

Introducing Transitive NuGet Dependencies in Visual Studio

We heard from you that direct dependencies are easy to track, but that you struggle with tracking transitive dependencies. We want to make that easier for the day-to-day management of your NuGet packages in Visual Studio.

A walkthrough of Durable Entities

Durable Entities are a special type of Azure Function that allow you to implement stateful objects in a serverless environment. They make it easy to introduce stateful components to your app without needing to manually persist data to external storage, so you can focus on your business logic. We’ll demonstrate their power with a real-life example in the last section.

newsletters

Join over 24,700 readers for a free weekly email with fresh news, articles and tutorials.