Visual Studio, .NET Framework, and language versions

Every so often a question comes up about how Visual Studio, the .NET Framework, and a .NET programming language relate to each other. Mostly, these questions have to do with versions. The reality is that these are actually three different “products” that are versioned independently of each other but are... [Read More]

Visual Studio 2010 and Target Framework Version

Almost two years ago, I wrote about a Visual Studio macro that allows you to change the Target Framework version of all projects in a solution. If you don’t know, the Target Framework version is what tells the compiler which version of the .NET Framework to compile against (more... [Read More]


An empty string is different than an unassigned string variable (which is null), and is a string containing no characters between the quotes (“”). The .NET Framework provides String.Empty to represent an empty string, and there is no practical difference between (“”) and String.Empty. One of the most... [Read More]


An enumerated type, also called an enumeration (or just an enum for short), is simply a way to create a numeric type restricted to a predetermined set of valid values with meaningful names for those values. While most enumerations represent discrete values, or well-known combinations of those values, sometimes you... [Read More]