TypeCode Enum (System) (original) (raw)

Skip to main contentSkip to in-page navigation

This browser is no longer supported.

Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.

TypeCode Enum

Definition

Specifies the type of an object.

public enum class TypeCode
public enum TypeCode
[System.Serializable]
public enum TypeCode
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public enum TypeCode
type TypeCode = 
[<System.Serializable>]
type TypeCode = 
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type TypeCode = 
Public Enum TypeCode

Inheritance

Attributes

Fields

Name Value Description
Empty 0 A null reference.
Object 1 A general type representing any reference or value type not explicitly represented by another TypeCode.
DBNull 2 A database null (column) value.
Boolean 3 A simple type representing Boolean values of true or false.
Char 4 An integral type representing unsigned 16-bit integers with values between 0 and 65535. The set of possible values for the Char type corresponds to the Unicode character set.
SByte 5 An integral type representing signed 8-bit integers with values between -128 and 127.
Byte 6 An integral type representing unsigned 8-bit integers with values between 0 and 255.
Int16 7 An integral type representing signed 16-bit integers with values between -32768 and 32767.
UInt16 8 An integral type representing unsigned 16-bit integers with values between 0 and 65535.
Int32 9 An integral type representing signed 32-bit integers with values between -2147483648 and 2147483647.
UInt32 10 An integral type representing unsigned 32-bit integers with values between 0 and 4294967295.
Int64 11 An integral type representing signed 64-bit integers with values between -9223372036854775808 and 9223372036854775807.
UInt64 12 An integral type representing unsigned 64-bit integers with values between 0 and 18446744073709551615.
Single 13 A floating point type representing values ranging from approximately 1.5 x 10 -45 to 3.4 x 10 38 with a precision of 7 digits.
Double 14 A floating point type representing values ranging from approximately 5.0 x 10 -324 to 1.7 x 10 308 with a precision of 15-16 digits.
Decimal 15 A simple type representing values ranging from 1.0 x 10 -28 to approximately 7.9 x 10 28 with 28-29 significant digits.
DateTime 16 A type representing a date and time value.
String 18 A sealed class type representing Unicode character strings.

Examples

The following code example demonstrates how the TypeCode enumeration can be used. In a decision block inside the WriteObjectInfo method, the TypeCode of an Object parameter is examined, and an appropriate message is written to the console.

void WriteObjectInfo( Object^ testObject )
{
   TypeCode typeCode = Type::GetTypeCode( testObject->GetType() );
   switch ( typeCode )
   {
      case TypeCode::Boolean:
         Console::WriteLine( "Boolean: {0}", testObject );
         break;

      case TypeCode::Double:
         Console::WriteLine( "Double: {0}", testObject );
         break;

      default:
         Console::WriteLine( "{0}: {1}", typeCode, testObject );
         break;
   }
}
static void WriteObjectInfo(object testObject)
{
    TypeCode    typeCode = Type.GetTypeCode( testObject.GetType() );

    switch( typeCode )
    {
        case TypeCode.Boolean:
            Console.WriteLine("Boolean: {0}", testObject);
            break;

        case TypeCode.Double:
            Console.WriteLine("Double: {0}", testObject);
            break;

        default:
            Console.WriteLine("{0}: {1}", typeCode.ToString(), testObject);
            break;
    }
}
Sub WriteObjectInfo(ByVal testObject As Object)
    Dim typeCode As TypeCode = Type.GetTypeCode(testObject.GetType())

    Select Case typeCode
        Case typeCode.Boolean
            Console.WriteLine("Boolean: {0}", testObject)

        Case typeCode.Double
            Console.WriteLine("Double: {0}", testObject)

        Case Else
            Console.WriteLine("{0}: {1}", typeCode.ToString(), testObject)
    End Select
End Sub

Remarks

Call the GetTypeCode method on classes that implement the IConvertible interface to obtain the type code for an instance of that class.

Otherwise, call an object's GetType method to obtain its Type object, then call the Type object's GetTypeCode method to obtain the object's type code.

Applies to

Collaborate with us on GitHub

The source for this content can be found on GitHub, where you can also create and review issues and pull requests. For more information, see our contributor guide.

Additional resources

In this article