The Wayback Machine - https://web.archive.org/web/20110902032430/http://www.codeguru.com:80/csharp/csharp/cs_syntax/

    Basic Syntax

    [Updated] Free C# Developer Quick Reference Guide Now Available

    Register and download your free C# reference card.

    Demystifying C# Programming's ToString Method

    The ToString method of the .NET framework object has a solid set of useful features. Every object in the .NET framework has the ToString() method implementation. Read along to learn more about the ToString() method.

    Custom User Interface for MSI Packages Using C# .NET

    Windows installer has its own way to display installer user interface which is far different from other technologies. MSI supports few controls compared to .Net or other platform. Though it is not very difficult, still it is hard job to develop sophisticated installation package with good user interface, even after using well known installer software. NvnInstaller.MsiDotNet api makes this job easier.

    C# Programming: Using Generic Factory Classes to Create Generic Exception Handlers

    Exception handling can be a costly affair and should be used meticulously as it undoubtedly serves as an integral part of our applications and shouldn't be sidelined for any reason. The common problem in implementing an exception handling mechanism is the dependency on the library after we create a provider. This C# tutorial looks at the possibility of switching the providers easily.

    Implementing a Keyboard Interface using .NET Controls for a WinForm Client

    The Microsoft .NET Framework comes packaged with all the building blocks to implement a keyboard interface in a WinForm application, we'll illustrate and walk through how to extend those building blocks with basic .NET controls, inheritance and custom events to create a consistent keyboard interface.

    The Practical Guide to Multithreading - Part 1

    Understand from this guide how and when - as well as when not - to use multithreading.

    Using the Task Parallel Library and PLINQ to Go Parallel

    With more and more computers using a multi-core processor, the free lunch of increased clock speeds and the inherent performance gains are over. Software developers must instead make sure their applications take use of all the cores available in an efficient manner. New features in .NET 4.0 mean that managed code developers too can join the party.

    There is More Than Just a Little Touching...

    The way you interact with a personal computing device is changing and is about to change even more with lots of touching and even a little hidden video.

    Dumping an Object's State with a DynamicMethod

    Emitted code and the DynamicMethod have the benefit of speed and the emitted code can be unloaded when the DynamicMethod goes out of scope, resulting in the best of all worlds.

    Getting Up and Running with the Composite UI Application Block for WPF

    Building small applications from scratch is easy enough with almost any available programming technology. However, if you are assigned the task to build large applications and have the requirement to re-use code either now or tomorrow, you need to be a lot more careful. Microsoft has ready-made patterns that help you build complex Windows Presentation Foundation applications with reusability and componentized design in mind.

    Creating a DockablePanel-Controlmanager Using C#, Part 7

    Going on to design a dockable panel, discover some very interesting techniques, such as hooking the mouse and how to debug an application in such cases. Learn to unpin a docked panel so it slides to the border of the main application.

    [Updated] Creating a C# Gradient Progressbar Component

    Learn how to create your own Progressbar-like control, which exposes the same properties as a normal Progressbar, but with added visual appeal.

    Parsing Is Easy: Base C Sharp Classes and Expressions Calculator

    Learn about parsing, and creating classes and expressions.

    Creating a DockablePanel-Controlmanager Using C#, Part 6

    Learn how to create more advanced docking features, such as docking to the upper right corner or having some panels docked at the bottom of an MDI Form collected together in a TabControl. Each of the different parts include the full source code (up to that point), as well as a retrospective short explanation about the different topics covered already.

    [Updated] Creating a DockablePanel-Controlmanager Using C#, Part 5

    Learn how to size a docked Panel and how to undock it again as well as which actions are needed to prepare the more advanced docking actions.

    Why Is Everything So Darn Declarative?

    Learn about a different approach of using the GridView and DetailsView controls in a web app.

    .NET Tip: Converting Strings to Enum Values

    Learn how to take a string and convert it into an enumeration value.

    Creating a DockablePanel-Controlmanager Using C#, Part 4

    This is the 4th part of a series of articles about how to design DockingForms using a DockingManager written in C#.

    .NET Tip: Using Extension Methods

    Extension methods allow you to create utility functions and have them appear to be part or your classes or the built-in classes. You'll learn by making a method from an earlier tip available as an extension method.

    [Updated] Creating a Dockable Panel-Controlmanager Using C#, Part 2

    Learn how to get a borderless Form to move around on the screen by capturing it with the mouse and dragging it, and to be able to resize the form, the same way as a normal sizeable Form can be sized by dragging its edges.

    Creating a Dockable Panel ControlManager Using C#, Part 3

    Continue your study of how to create your own dockable Forms.

    .NET Tip: Display All Fields and Properties of an Object

    Learn how to display all of the fields and properties of any object. By using a little reflection, you can expose the internals of your objects.

    Language Feature Highlight: Local Type Inference in C# 3.0 and Visual Basic 9.0

    Learn about local type inference in C# 3.0 and Visual Basic 9.0. Examine why it is relevant and the syntax for its use.

    Extending Outlook Functionality with a .NET Add-In

    Interacting with Office functionality in a .NET application can add a new level of functionality while providing the user with familiar methods of getting work done. Explore extending Outlook via a sample add-in.

    .NET Tip: Throwing Custom Exceptions

    Use custom exceptions to add information that will be more meaningful to your users when exceptions occur. And, you still can maintain all the information from the original exception.