Export (0) Print
Expand All
39 out of 91 rated this helpful - Rate this topic

Casting (C# Programming Guide)

Converting between data types can be done explicitly using a cast, but in some cases, implicit conversions are allowed. For example:

static void TestCasting()
{
    int i = 10;
    float f = 0;
    f = i;  // An implicit conversion, no data will be lost.
    f = 0.5F;
    i = (int)f;  // An explicit conversion. Information will be lost.
}

A cast explicitly invokes the conversion operator from one type to another. The cast will fail if no such conversion operator is defined. You can write custom conversion operators to convert between user-defined types. For more information about defining a conversion operator, see explicit (C# Reference) and implicit (C# Reference).

The following program casts a double to an int. The program will not compile without the cast.

class Test
{
    static void Main()
    {
        double x = 1234.7;
        int a;
        a = (int)x;  // cast double to int
        System.Console.WriteLine(a);
    }
}

1234

For more information, see the following sections in the C# Language Specification:

  • 7.6.6 Cast Expressions

  • 6.1 Implicit Conversions

  • 6.2 Explicit Conversions

Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

ADD
Show:
© 2014 Microsoft. All rights reserved.