.NET framework supports more than 20 different programming languages. Many of them have their own data types.
For example, int is used in C# whereas integer is in Visual Basic. Both int and integer has single base class call System.Int32. Similarly, System.Object is common base type from where all the other types are derived.
The .NET Frameworks Common Type System (CTS) defines a set of data types that can be used by different .Net framework languages and that why different
.NET programming language can interact with each others. This types of system is called Common Type System (CTS).
.NET Framework supports two types of data type - Value Types and Reference Types. The Value Types are passed by values and stored in the stack in memory.
Whereas Reference Types are passed by references and stored in the heap in memory.
The Common Type System (CTS) defines a set of data types which is responsible for cross language integration.
It is CLR responsibility to load and execute the program written in any .NET language that support types defined in Common Type System (CTS).