What\'s the difference between the two? Can we use them interchangeably?
The following is cited from the book "The C# Player's Guide".
The BCL contains all of the built-in types, arrays, exceptions, math libraries, basic File I/O, security, collections, reflection, networking, string manipulation, threading, and more. While not a perfect guide, a general rule is that any namespace that start with System is a part of the BCL.
Beyond the BCL, there are many more classes that Microsoft ships with the .NET Framework. In general, these additional things cover broad functional areas, such as database access or graphical user interfaces (Windows Forms or WPF). This entire collection, including the BCL, is called the Framework Class Library, or FCL. In casual discussion, sometimes people use FCL and BCL interchangeably, which isn’t strictly correct, but it is perhaps good enough for most things.