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


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

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

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

Дерево лямбда-выражения не может содержать объединяющий оператор с нулевым литералом в качестве левого операнда.
An expression tree lambda may not contain a coalescing operator with a null literal left-hand side.

Поскольку само значение NULL не имеет типа, оно не может быть обработано объединяющим оператором, поддерживающим значение NULL.

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

  • Выполните приведение литерала NULL в объекту.

Пример

В следующем коде возникает ошибка CS0845.

// cs0845.cs
using System;
using System.Linq;
using System.Linq.Expressions;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Expression<Func<object>> e = () => null ?? null; // CS0845
            // Try the following line instead.
            // Expression<Func<object>> e = () => (object)null ?? null;
        }
    }
}