Digests ยป 183

this week's favorite

Writing smarter cross-platform .NET Core apps with the API Analyzer and Windows Compatibility Pack

There's a couple of great utilities that have come out in the last few weeks in the .NET Core world that you should be aware of. They are deeply useful when porting/writing cross-platform code.

C# Scripting in Excel

Being a modern language with access to a rich ecosystem of libraries, C# can be immensely helpful both for automation and data processing in Excel. The goal of QueryStorm in this regard is to make C# easily available in Excel in order to help developers, db professionals and data scientists make better use of Excel. The C# scripting engine in QueryStorm is powered by the Roslyn compiler.

Running .NET on the Raspberry Pi

I recently got my hands on an older Raspberry Pi, which was a great excuse to see if I could get .NET running on it! If you're interested in playing around with a Pi or just want to see what it's like to get one running, then you're in the right place. I'll take you through setting it up, installing some programs and compiling some C# on the device with a few failures along the way.

PostgreSQL Integration Testing in .NET Core

PostgreSQL is becoming an attractive alternative for .NET Core applications with support from popular ORMs like Entity Framework Core and Dapper. If you are thinking about switching to Postgres, having solid tests will make you more confident with the transition.

Dissecting the async methods in C#

The C# language is great for developer's productivity and I'm glad for the recent push towards making it more suitable for high-performance applications. Here is an example: C# 5 introduced 'async' methods. The feature is very useful from a user's point of view because it helps combining several task-based operations into one. But this abstraction comes at a cost. Tasks are reference types causing heap allocations everywhere they're created, even in cases where the 'async' method completes synchronously. With C# 7, async methods can return task-like types such as ValueTask to reduce the number of heap allocations or avoid them altogether in some scenarios.

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