= Operator (C# Reference)


Updated: July 20, 2015

System_CAPS_ICON_note.jpg Note

For the latest documentation on C#, visit the C# Guide on docs.microsoft.com.

The assignment operator (=) stores the value of its right-hand operand in the storage location, property, or indexer denoted by its left-hand operand and returns the value as its result. The operands must be of the same type (or the right-hand operand must be implicitly convertible to the type of the left-hand operand).

The assignment operator cannot be overloaded. However, you can define implicit conversion operators for a type, which enable you to use the assignment operator with those types. For more information, see Using Conversion Operators.

    class Assignment
        static void Main()
            double x;
            int i;
            i = 5; // int to int assignment
            x = i; // implicit conversion from int to double
            i = (int)x; // needs cast
            Console.WriteLine("i is {0}, x is {1}", i, x);
            object obj = i;
            Console.WriteLine("boxed value = {0}, type is {1}",
                      obj, obj.GetType());
            i = (int)obj;
            Console.WriteLine("unboxed: {0}", i);
    i is 5, x is 5
    boxed value = 5, type is System.Int32
    unboxed: 5

C# Reference
C# Programming Guide
C# Operators