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 'TestThe output of the above example
Values: 0, 123 Refs: 123, 123Read 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)