Прочитать на английском

Поделиться через


Ошибка компилятора CS1947

Невозможно присвоить значение переменной диапазона "имя переменной", доступной только для чтения

Переменная диапазона аналогична переменной итерации в операторе foreach . Ей нельзя присвоить значение в выражении запроса.

Исправление ошибки

  1. Удалите присвоение значения переменной диапазона.

  2. При необходимости укажите новую переменную диапазона с помощью предложения let и используйте ее для хранения значения.

Пример

Следующий код приводит к возникновению ошибки 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();  
    }  
}  

См. также