Over the years, many types of routines and algorithms have been used over and over again by programmers writing different kinds of programs. For example, it is often necessary to sort a list of numbers or names according to size or alphabetic order. Other examples could be specialized engineering calculations, mathematical calculations, and so on; yes, the list is very long.
Many software companies and developers have recognized this fact. Their response has been to develop class libraries containing these commonly used functions.
The success has been staggering. It is difficult to find an application today that does not contain parts from a reused class library.
Likewise, Microsoft has provided a class library as part of .NET called the .NET Framework class library, also known as the Base Class Library (BCL). It contains many hundreds of classes, providing a vast number of functions. BCL allows you to reuse the expertise of the Microsoft programmers who have designed and written this library. Object-oriented principles, along with the assembly technology and its related concepts, are some of the core mechanisms used in this library that, as a result, provide unprecedented reusability and ease of use.
C# does not specify its own class library. C# is completely fused with the BCL. Consequently, it is not possible to run a C# program without the BCL and the .NET runtime.
All classes written in C# are based on one specific class in the BCL, and many C# constructs are merely representations of classes and their functions in the class library.
It is much easier to access the underlying services of the operating system with the BCL. Rather than having to use arcane commands and complicated expressions, the services are exposed in a much more user-friendly fashion. The comprehensive support for windows-based Graphical User Interface (GUI) development provided by the BCL is one example.