Прочитать на английском

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


Ошибка компилятора 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

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

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