Predefined Simple Types
Like most programming languages, Oxygene defines a set of basic types that make up the core language, cover simple and atomic data types (such as numbers and characters) and form the base for more advanced types you define yourself or link in from libraries.
Integers
Oxygene provides integer types in 4 sizes, from 8-bit to 64-bit, both signed and unsigned. Refer to the Integers topic in the API Reference for more details.
Floating Points
Two floating point types provide storage of fractional values, with single and double precision. The Floats section in the API Reference covers these in more depth.
Boolean
A boolean is a simple value type that can hold one of two values – true
or false
. See Boolean for details.
Strings and Characters
Individual characters can be stored in the Char
type, while the String
class provides support for strings of characters. Both hold 16-bit UTF-16 entities.
Object
Object
is the implied root class of all Class Types defined in Oxygene and the other Elements languages. On .NET and Java (and in a limited degree on Cocoa and Island), it is also the root of all other types, through a mechanism called Boxing). Visit the Object topic for more details.
Dynamic
The dynamic
type can be used to work with objects whose API is not known at compile time. It can be used as a placeholder type for a field, variable or parameter that can hold any type, at runtime. Different than an Object
reference, which needs to be cast to a more concrete type for useful work, a dynamic
reference allows any imaginable calls to be made on it, without enforcing any compile times checks to see whether it is valid. The compiler will generate code that tries to dispatch the call dynamically, failing at runtime if a call is invalid.