Base Class Library (BCL)

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.