Erro de compilador CS1947

A variável de intervalo 'nome da variável' não pode ser atribuída a -- é somente leitura.

Uma variável range é como uma variável de iteração em uma foreach instrução. Ele não pode ser atribuído a uma expressão de consulta.

Para corrigir este erro

  1. Remova a atribuição para a variável de intervalo.

  2. Se necessário, introduza uma nova variável de intervalo usando a let cláusula e use-a para armazenar o valor.

Exemplo

O código a seguir gera CS1947:

// cs1947.cs  
using System.Linq;  
class Test  
{  
    static void Main()  
    {  
        int[] array = new int[] { 1, 2, 3, 4, 5 };  
        var x = from i in array  
                let k = i  
                select i = 5; // CS1947  
        x.ToList();  
    }  
}  

Consulte também