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


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

Обновлен: Ноябрь 2007

Сообщение об ошибке

Невозможно присвоить "expression" переменной диапазона.
Cannot assign 'expression' to a range variable.

Компилятор должен иметь возможность определять тип переменной диапазона независимо от ее присутствия в предложении from или let. Тип не может иметь значение NULL, поскольку NULL не является типом и не может быть назначен с помощью выражения небезопасного типа.

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

  • Удалите недопустимое назначение.

  • Выполните явное приведение выражения к допустимому типу.

Пример

В связи с невозможностью определения типа переменной диапазона в следующем примере возникает ошибка CS1932. Чтобы исправить ошибку, приведите значение к предполагаемому типу, как показано в следующем примере.

// CS1932.cs
using System.Linq;
class Test
{
    static void Main()
    {
        
        var x = from i in Enumerable.Range(1, 100)
                let k = null // CS1932
                // Try the following line instead.
                let k = (string) null
                select i;
    }
}

См. также

Основные понятия

Выражения запросов LINQ (Руководство по программированию в C#)