---
title: "Common Type System in .Net"  
description: "In this blog, I’m explaining about CTS  in .NetCTS defines a collection of data types, which are used and managed by the run time to facilitate cross-"  
author: "priyanka kushwaha"  
published: 2015-01-22  
updated: 2015-01-22  
canonical: https://www.mindstick.com/blog/729/common-type-system-in-dot-net  
category: ".net"  
tags: [".net"]  
reading_time: 2 minutes  

---

# Common Type System in .Net

In this blog, I’m explaining about CTS in .Net

CTS defines a [collection](https://www.mindstick.com/articles/1718/collections-in-java) of data types, which are used and managed by the run time to facilitate cross-language [integration](https://yourviews.mindstick.com/view/88515/common-mistakes-in-computer-integration-to-avoid).

CTS provides the types in the .NET Framework with which .NET [applications](https://www.mindstick.com/articles/12847/how-to-choose-the-right-ethernet-cable-for-industrial-applications), components and controls are built in different [programming languages](https://www.mindstick.com/articles/12386/5-up-and-coming-programming-languages-to-know-about) so information is shared easily. In contrast to low-level languages like C and C++ where classes/structs have to be used for defining types often used (like date or time), CTS provides a rich hierarchy of such types without the need for any inclusion of header files or libraries in the code.

1. It enables cross-language integration, type safety, and high-performance [code execution](https://www.mindstick.com/forum/160098/explain-the-difference-between-synchronous-and-asynchronous-code-execution-in-javascript).

2. It provides an object-oriented model for [implementation](https://www.mindstick.com/forum/33764/how-to-implementation-of-class-in-c-sharp) of many programming languages.

##### CTS supports two different kinds of types:

Value Types: Contain the values that need to be stored directly on the stack or allocated inline in a structure. They can be built-in (standard primitive types), user-defined (defined in [source code](https://www.mindstick.com/forum/33476/pls-send-me-source-code-for-changing-passward-in-asp-dot-net-i-tried-so-much-from-google-but-its-not-workining)) or enumerations (sets of enumerated values that are represented by labels but stored as a numeric type).

Reference Types: Store a reference to the value‘s memory address and are allocated on the heap. Reference types can be any of the pointer types, interface types or self-describing types (arrays and class types such as user-defined classes, boxed value types and delegates).\
All the structures and classes available in CTS are common for all .NET Languages and purpose of these is to [support language](https://answers.mindstick.com/qa/102687/how-does-google-s-cloud-translation-api-support-language-translation-in-applications) [independence](https://yourviews.mindstick.com/story/3808/10-freedom-fighters-who-fought-for-india-s-independence) in .NET. Hence it is called CTS.

##### For example

CTS defines System.Int32 – 4 byte integer\

C# defines int as an alias of System.Int32\
string -> System.String\
object -> System.Object

---

Original Source: https://www.mindstick.com/blog/729/common-type-system-in-dot-net

Copyright © MindStick Software Pvt. Ltd. This Markdown version is provided for developers, AI systems, and offline reading.
