When to use C# LINQ with Query Syntax over Method Syntax

When to use C# LINQ with Query Syntax over Method Syntax

In LINQ, there are 2 syntax flavors: query-syntax and method-syntax. While Method-Syntax is more popular, it isn't always better. There are several cases where query syntax is better, and this is what this article is all about. By better, I mean it makes more readable code.

How to debug .NET Deadlocks (C# Deadlocks in Depth - Part 3)

How to debug .NET Deadlocks (C# Deadlocks in Depth - Part 3)

Welcome to the 3rd and final part of the Deadlocks-in-Depth series. In this part, I’ll show you 2 additional techniques to debug deadlocks: Working with Tracepoints and using the notorious WinDbg to automatically detect deadlocks.

11 Tips to become an Efficient, High-Performance Software Developer

11 Tips to become an Efficient, High-Performance Software Developer

In software, one developer can make a big difference. This is why hiring great engineers is so hard, and why programmer salaries are sky-rocketing. A high-performance software developer is an incredible asset in a team. A company is willing to pay them top dollar, and the competition to hire them is fierce.

C# Deadlocks in Depth – Part 2

C# Deadlocks in Depth – Part 2

We'll see two more deadlock types: The notorious UI-Message-Queue Deadlock and the Sync-Context Deadlock (both names coined by me just now). In addition, I'll show you a new debugging technique for deadlocks and multi-threaded scenarios.

C# Deadlocks in Depth - Part 1

C# Deadlocks in Depth - Part 1

For me, multi-threading programming is one of the most fun things I do as a developer. It’s fun because it’s hard and challenging. And I get a particular sense satisfaction when solving deadlocks. So today I’m writing on one of my favorite subjects.

11 things I wish I could tell myself as a Junior Software Developer

11 things I wish I could tell myself as a Junior Software Developer

We've all been Junior developers at some point. Do you remember that long ago? I sure do. I remember the excitement when I could make something work. I remember the fear when faced with a task I had no idea how to even start.

Find, Fix, and Avoid Memory Leaks in C# .NET: 8 Best Practices

Find, Fix, and Avoid Memory Leaks in C# .NET: 8 Best Practices

Finding, Fixing and learning to Avoid Memory Leaks is an important skill. I'll list 8 best practice techniques used by me and senior .NET developers that advised me for this article.

5 Techniques to avoid Memory Leaks by Events in C# .NET you should know

5 Techniques to avoid Memory Leaks by Events in C# .NET you should know

Event registrations in C# (and .NET in general) are the most common cause of memory leaks. At least from my experience. In fact, I saw so much memory leaks from events that seeing += in code immediately makes me suspicious.

C# Features: Innovations or Imitations? – Part 3

C# Features: Innovations or Imitations? – Part 3

Initially, C# was born as a strictly typed object-oriented language. It was influenced somewhat by Java and Delphi and was even called a Java imitation by...