Error del compilador CS1947
Actualización: noviembre 2007
Mensaje de error
La variable de rango 'nombre de variable' no puede asignarse; es de solo lectura.
Range variable 'variable name' cannot be assigned to -- it is read only.
Una variable de rango es como una variable de iteración en una instrucción foreach. No puede asignarse en una expresión de consulta.
Para corregir este error
Quite la asignación a la variable de rango.
Si es necesario, incluya una nueva variable de rango mediante la cláusula let y utilícela para almacenar el valor.
Ejemplo
El código siguiente genera el error 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();
}
}
Vea también
Conceptos
Expresiones de consultas con LINQ (Guía de programación de C#)