.NET news » C# 
C# Exception Handling
The thirty-fourth part of the C# Fundamentals tutorial begins a review of exception handling. When an unexpected event occurs, unhandled exceptions cause a program to exit abnormally. Correct handling permits the graceful recovery from an error condition.
Speed Test: Switch vs If-Else-If
The .NET framework and the C# language provide two methods for conditional processing where multiple discrete values can be selected from. The switch statement is less flexible than the if-else-if ladder but is generally considered to be more efficient.
C# Program Flow Control: The Foreach Loop
The thirtieth part of the C# Fundamentals tutorial continues the multi-part examination of the program flow control commands available to the C# developer. This article examines the foreach loop structure that cycles through each item in a collection.
C# Program Flow Control: The For Loop
The twenty-ninth part of the C# Fundamentals tutorial starts a multi-part examination of the program flow control commands available to the C# developer. This first article examines the for loop structure that allow the repeated execution of code.
C# String Comparison Functions
The twenty-third part of the C# Fundamentals tutorial continues the examination of the string manipulation functionality provided by the String class. This article investigates methods available for comparing the contents of strings.
C# DateTime Information Extraction
The twenty-sixth part of the C# Fundamentals tutorial continues the examination of the DateTime data type provided by C# and the .NET Framework. In this instalment we will consider how information can be compared and extracted from values of this type.
C# DateTime Manipulation
The twenty-seventh part of the C# Fundamentals tutorial completes the examination of the DateTime data type provided by C# and the .NET Framework. This article considers manipulation of DateTime data and formatting date and time information as a string.
When and How to Use Dispose and Finalize in C#
Although the .NET framework frees managed memory and resources transparently, it's not as adept at freeing unmanaged resources; you have to help it out by implementing the Dispose and Finalize patterns in your code.
Generic Dictionaries: Hidden Treasure of System.Collections.Generic
Generic dictionaries simplify common tasks, such as coordinating selection between a TreeView and a ListView—but their capabilities extend far beyond that, once you realize you can use DynamicInvoke() to execute delegates stored in the dictionary.
Threading in C#: In-Depth Article
Extensive article on threading in C#. Covers such topics as Thread Pooling, safe use of Abort, when and how to use Synchronization Contexts, Wait Handles vs Wait and Pulse, Threading vs System Timers, implications of Memory Barriers and volatility, uses for Local Storage, subclassing BackgroundWorker. Free.

