通过


编译器错误 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;  
    }  
}