The .NET framework provides a set of base class libraries which provide functions and features which can be used with any programming language which implements .NET, such as Visual Basic, C# (or course), Visual C++, etc.
The base class library contains standard programming features such as Collections, XML, DataType definitions, IO ( for reading and writing to files), Reflection and Globalization to name a few. All of which are contained in the System namespace. As well, it contain some non-standard features such as LINQ, ADO.NET (for database interactions), drawing capabilities, forms and web support.
The below table provides a list each class of the base class library and a brief description of what they provide.
Base Class Library Namespace | Brief Description |
System | Contains the fundamentals for programming such as the data types, console, match and arrays, etc. |
System.CodeDom | Supports the creation of code at runtime and the ability to run it. |
System.Collections | Contains Lists, stacks, hashtables and dictionaries |
System.ComponentModel | Provides licensing, controls and type conversion capabilities |
System.Configuration | Used for reading and writing program configuration data |
System.Data | Is the namespace for ADO.NET |
System.Deployment | Upgrading capabilities via ClickOnce |
System.Diagnostics | Provides tracing, logging, performance counters, etc. functionality |
System.DirectoryServices | Is the namespace used to access the Active Directory |
System.Drawing | Contains the GDI+ functionality for graphics support |
System.EnterpriseServices | Used when working with COM+ from .NET |
System.Globalization | Supports the localization of custom programs |
System.IO | Provides connection to file system and the reading and writing to data streams such as files |
System.Linq | Interface to LINQ providers and the execution of LINQ queries |
System.Linq.Expressions | Namespace which contains delegates and lambda expressions |
System.Management | Provides access to system information such as CPU utilization, storage space, etc. |
System.Media | Contains methods to play sounds |
System.Messaging | Used when message queues are required within an application, superseded by WCF |
System.Net | Provides access to network protocols such as SSL, HTTP, SMTP and FTP |
System.Reflection | Ability to read, create and invoke class information. |
System.Resources | Used when localizing a program in relation to language support on web or form controls |
System.Runtime | Contains functionality which allows the management of runtime behavior. |
System.Security | Provides hashing and the ability to create custom security systems using policies and permissions. |
System.ServiceProcess | Used when a windows service is required |
System.Text | Provides the StringBuilder class, plus regular expression capabilities |
System.Threading | Contains methods to manage the creation, synchronization and pooling of program threads |
System.Timers | Provides the ability to raise events or take an action within a given timer period. |
System.Transactions | Contains methods for the management of transactions |
System.Web | Namespace for ASP.NET capabilities such as Web Services and browser communication. |
System.Windows.Forms | Namespace containing the interface into the Windows API for the creation of Windows Forms programs. |
System.Xml | Provides the methods for reading, writing, searching and changing XML documents and entities. |