Strings Are Evil

#216 – July 22, 2018

Did you know there is a premium version of the digest?

No advertising, special editorial, and more content. Support the digest for just $5 a month by subscribing to C# Digest Premium 🤩.

sponsor

O'Reilly Velocity Conference | September 30-October 3 in New York, NY

At Velocity, you'll get the training you need to make your systems fast, resilient, and secure. You'll learn from experts and practitioners like Tammy Butow (Gremlin), Sebastien Goasguen (Bitnami), Bridget Kromhout (Microsoft), and scores of others. You'll acquire new insights into DevOps, distributed systems, Kubernetes, Docker, and tech leadership—practical knowledge you can take back and apply immediately to your work. Early Price ends August 17. Register today to save up to $200!

this week's favorite

Strings Are Evil

In this article we will explore potential optimisations to the import process specifically within the context of reducing memory during the import process. If you want to have a go yourself, you can use this code to generate a sample input file and you can find all of the code talked about here.

A Super-Simplified Explanation of .NET Garbage Collection

Garbage collection is so often at the root (excuse the pun) of many performance problems, very often because of misunderstanding, so please do set aside time to deepen your understanding after reading this.

Visual Studio IntelliCode now infers coding conventions for consistent code

Following the initial announcement of Visual Studio IntelliCode at Build 2018, we’re excited to report that the Visual Studio IntelliCode Extension has been updated to enable coding convention inference for C#, to help you and your team achieve more readable and consistent code. If you’re new to the Intellicode extension, it already provides AI-assisted IntelliSense suggestions, which you can read about in the initial announcement. If you already have the extension installed, you may have automatically received this update. If not, you can get started now by downloading the extension.

Performance implications of default struct equality in C#

If you're familiar with C#, then you most likely heard that you should always override Equals and GetHashCode for custom structs for performance reasons. To better understand the importance and the rationale behind this advice we're going to look at the default behavior to see why and where the performance hit comes from. Then we'll look at a performance bug that occurred in my project and at the end we'll discuss some tools that can help to avoid the issue altogether.

GP-GPU Computing via C#

From my perspective as a .NET developer, it would be a great opportunity to have an access to a huge computational power of hundreds GPU cores, so I tried to figure out what is the current state of art in my domain.

newsletters