| Controlling the Wave Device Volume The wave device volume determines how loudly sounds are played, either for the current application or for the entire operating system. This volume can be adjusted for the left and right channels independently using Windows API functions. |
| Programmatically Checking and Setting File Types When developing a Windows Forms application that loads documents, setting custom file types adds greatly to the professional feel of the software. This article explains how to programmatically check your file type is registered and register it if not. |
| C# Inheritance and Constructors The nineteenth part of the C# Object-Oriented Programming tutorial continues the discussion of inheritance. Constructor and destructor functionality is not inherited by subclasses but these can still use the constructors defined in their base class. |
| Invoking Methods Using Reflection The twentieth part of the Reflection tutorial describes the use of reflection to invoke methods of object instances. This allows late bound objects to be activated and used without needing to know the actual type or an interface that it implements. |
| Convert a Number to an Ordinal Number Ordinal numbers represent the rank of a cardinal number, such as 1st, 2nd and 3rd. These numbers define the position or rank of a value, rather than just the size or quantity. In this article we will convert integers into English ordinal numbers. |
| Reading CSV Data CSV files are useful for transferring information between systems that cannot be connected by another method. Reading the data from CSV files, or strings containing CSV information, is made easy with standard .NET framework classes. |
| Calculating a Person's Age in Years Sometimes you will want to calculate the age of a person or of an object and return a result specifying the age in years. This calculation is simple to perform using the properties of the .NET framework's DateTime structure and basic arithmetic operators. |
| Obtaining the Last Inserted Identity in Any Session It is common to obtain the last inserted identity value for a SQL Server table for the current connection, with @@IDENTITY, or for the current scope, with SCOPE_IDENTITY. However, it is also possible to find the latest identity inserted by any session. |
| Implementing the Zip Operator in .NET 3.5 Microsoft introduced the Zip operator to Language-Integrated Query (LINQ) with the .NET framework version 4.0. This operator is not available in version 3.5 of the framework but can be implemented quite easily. |
| C# #warning and #error Directives In some situations you may wish to purposefully cause compilation errors or warnings in your code. For example, a warning indicating that you are compiling in debug mode or an error for deprecated code. These can be added using preprocessor directives. |