Instantiating Classes with Internal Constructors

Scattered throughout the .NET framework are classes that are intended to appear externally sealed, but internally (by the framework class library developers) open for further extension. Because there is no mechanism to only allow classes to be...

Read More

Over-solving FizzBuzz

A FizzBuzz problem is a quick litmus test designed to identify incompetent developers. These tiny coding exercises are designed to be easy and fast to implement using fundamental programming know-how. If you have a good grasp of...

Read More

Black Belt C# Series – Syntax

The Black Belt C# series aims to uncover powerful but lesser-known features of the C# language. Each article introduces a few of these features and shows you how to use them to take your programming to the...

Read More

Practical Introduction to Lambda Expressions

Popularized by Python and Ruby, the lambda expression is a powerful shorthand that can be used to significantly speed up c# development. This post deals entirely with using lambda expressions in everyday development, and sidesteps the esoteric...

Read More

Black Belt C# Series – Language Keywords

The Black Belt C# series aims to uncover powerful but lesser-known features of the C# language. Each article introduces a few of these features and shows you how to use them to take your programming to the...

Read More

Threading Tips and Tricks

Have you ever had trouble designing or debugging multi-threaded applications?   Asynchronous programming can be a struggle without a toolbox of techniques and tips to help. Let me show you what I’ve learned to make multi-threading in...

Read More

Value Types vs. Reference Types

One area of C# that causes confusion is the difference between value and reference types. Reference Types   Let’s talk about reference types for a moment. A common reference type used in .NET is StringBuilder (others include...

Read More