Error del compilador CS0131

Actualización: noviembre 2007

Mensaje de error

La parte izquierda de una asignación debe ser una variable, una propiedad o un indizador
The left-hand side of an assignment must be a variable, property or indexer

En una instrucción de asignación, el valor de la parte derecha se asigna a la parte izquierda. La parte izquierda debe ser una variable, una propiedad o un indizador

Para corregir este error, asegúrese de que todos los operadores estén en la parte derecha y de que la parte izquierda sea una variable, una propiedad o un indizador. Para obtener más información, vea Instrucciones, expresiones y operadores (Guía de programación de C#).

Ejemplo

El código siguiente genera el error CS0131.

// CS0131.cs
public class MyClass
{
    public int i = 0;
    public void MyMethod()
    {
        i++ = 1;   // CS0131
        // try the following line instead
        // i = 1;
    }
    public static void Main() { }
}

Este error también se puede producir al intentar realizar operaciones aritméticas en la parte izquierda de un operador de asignación, como en el siguiente ejemplo.

// CS0131b.cs
public class C
{
    public static int Main()
    {
        int a = 1, b = 2, c = 3;
        if (a + b = c) // CS0131
        // try this instead
        // if (a + b == c)
            return 0;
        return 1;
    }
}