Поделиться через


Ошибка компилятора CS0131

Левая сторона назначения должна быть переменной, свойством или индексатором.

В инструкции назначения значение правой стороны назначается левой стороне. Левая сторона должна быть переменной, свойством или индексатором.

Чтобы устранить эту ошибку, убедитесь, что все операторы находятся справа и что левая сторона является переменной, свойством или индексатором. Дополнительные сведения см. в разделе "Операторы и выражения".

Пример 1

В следующем примере возникает ошибка 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() { }  
}  

Пример 2

В следующем примере возникает ошибка CS0131 при назначении константного поля.

// CS0131b.cs  
public class B  
{
    public static int Main()
    {
        const int j = 0;
        j = 1; // CS0131  
        // try the following lines instead
        // int j = 0; 
        // j = 1;
        return j;
    }  
} 

Пример 3

Эта ошибка также может возникать, если вы пытаетесь выполнить арифметические операции в левой части оператора назначения, как показано в следующем примере.

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