C# Corner


Target Multiple .NET Frameworks

Many developers have the misconception that targeting older versions of the Framework means you can't use any of the new C# language features. It's time to dispel that myth.

What VB Devs Should Know About C# Programming

Chances are C# is not your first programming language. Here are several tips that can help you leverage C# better if you already know VB.NET.

Combine Generics and Functional Programming

Mixing generics and functional programming simplifies writing some extensibility libraries tremendously. For example, combining these techniques makes it easy to create a generic Undo library.

Achieve Low-Impact Reuse

Sometimes it makes more sense to separate functionality you use repeatedly into its own component. Learn how to create a special command-line processing component.

Define Your Own Item Templates

Take advantage of C#'s Item Templates to automate tasks that you find yourself having to perform on a regular basis.

Choose Between Methods and Properties

Language features aren't good or bad. The choice of language feature depends on what you're doing. In this issue, we dive into the methods vs. properties debate.

Make Your Types Report Their State

You probably write a lot of code to test object state. A better approach might be to make your objects report their own state.

Create Custom Constraints

Learn how to construct a generic class that mandates behavior from type parameters that aren't expressible in the standard constraint types.

Treat Code as Data

Take advantage of new features in C# 3.0 that let you treat code as data -- and save time over more traditional, imperative approaches to programming.

Inside Functional Programming

Take advantage of functional programming techniques like Filter, Map, and Reduce in your day-to-day business apps.

Express Yourself with C#'s Query Syntax

Take advantage of the new keywords associated with C# 3.0's query syntax. Learn how these keywords map to methods defined using the query operands, and how you can define your own custom implementation for the query keywords.

Exploring C# 3.0

The latest iteration of C# introduces a host of new language features, most of which were created to enable functionality that you see in the .NET Framework 3.5's LINQ.

Initialize Objects Properly

Developers are accustomed to thinking of an object as either existing or not, but the truth is the initialization process is complex enough that this isn't always so. Learn how to initialize objects properly and avoid small missteps that can lead to big problems when creating and initializing objects.

Design Apps for Future Flexibility

You can't predict change, but you can prepare for it. Learn how to avoid cases where you need to remove work and rework too much of what you've already done.

Express Your Designs Clearly

Your code is the expression of your design intent -- make sure you communicate clearly.

Upcoming Events

.NET Insight

Sign up for our newsletter.

I agree to this site's Privacy Policy.