Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Range variable 'variable name' cannot be assigned to -- it is read only.
A range variable is like an iteration variable in a foreach statement. It cannot be assigned to in a query expression.
To correct this error
Remove the assignment to the range variable.
If necessary, introduce a new range variable by using the let clause and use it to store the value.
Example
The following code generates 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();
}
}