Errore del compilatore CS0131

Aggiornamento: novembre 2007

Messaggio di errore

La parte sinistra di un'assegnazione deve essere una variabile, una proprietà o un indicizzatore.
The left-hand side of an assignment must be a variable, property or indexer

In un'istruzione di assegnazione il valore del lato destro è assegnato al lato sinistro. Il lato sinistro deve essere una variabile, una proprietà o un indicizzatore.

Per correggere l'errore, accertarsi che tutti gli operatori si trovino sul lato destro e il lato sinistro sia una variabile, una proprietà o un indicizzatore. Per ulteriori informazioni, vedere Istruzioni, espressioni e operatori (Guida per programmatori C#).

Esempio

Il seguente codice di esempio genera l'errore 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() { }
}

Questo errore può venire visualizzato anche quando si tenta di eseguire operazioni aritmetiche sul lato sinistro di un operatore di assegnazione, come nel seguente esempio:

// 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;
    }
}