Common Type System - Type Categories

Type Categories

The common type system supports two general categories of types:

Value types
Value types directly contain their data, and instances of value types are either allocated on the stack or allocated inline in a structure. Value types can be built-in (implemented by the runtime), user-defined, or enumerations.
Reference types
Reference types store a reference to the value's memory address, and are allocated on the heap. Reference types can be self-describing types, pointer types, or interface types. The type of a reference type can be determined from values of self-describing types. Self-describing types are further split into arrays and class types. The class types are user-defined classes, boxed value types, and delegates.

The following example written in Visual Basic .NET shows the difference between reference types and value types:

Imports System Class Class1 Public Value As Integer = 0 End Class 'Class1 Class Test Shared Sub Main Dim val1 As Integer = 0 Dim val2 As Integer = val1 val2 = 123 Dim ref1 As New Class1 Dim ref2 As Class1 = ref1 ref2.Value = 123 Console.WriteLine("Values: {0}, {1}", val1, val2) Console.WriteLine("Refs: {0}, {1}", ref1.Value, ref2.Value) End Sub 'Main End Class 'Test

The output of the above example

Values: 0, 123 Refs: 123, 123

Read more about this topic:  Common Type System

Famous quotes containing the words type and/or categories:

    It used to be said that you had to know what was happening in America because it gave us a glimpse of our future. Today, the rest of America, and after that Europe, had better heed what happens in California, for it already reveals the type of civilisation that is in store for all of us.
    Alistair Cooke (b. 1908)

    Kitsch ... is one of the major categories of the modern object. Knick-knacks, rustic odds-and-ends, souvenirs, lampshades, and African masks: the kitsch-object is collectively this whole plethora of “trashy,” sham or faked objects, this whole museum of junk which proliferates everywhere.... Kitsch is the equivalent to the “cliché” in discourse.
    Jean Baudrillard (b. 1929)