We recommend using Visual Studio 2017
This documentation is archived and is not being maintained.

Compiler Error CS0845

An expression tree lambda may not contain a coalescing operator with a null literal left-hand side.

Because null by itself does not have a type, the null coalescing operator cannot operate on it.

To correct this error

  • Cast the null literal to an object.

The following code generates 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;