CS1947 de erro do compilador

Mensagem de erro

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

É uma variável de intervalo como uma variável de iteração em um foreach demonstrativo. 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, introduzir uma nova variável de intervalo usando o let cláusula e usá-lo 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

Conceitos

Expressões de consulta LINQ (Guia de programação C#)