Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All
Expand Minimize

Compiler Error CS1621

Updated: October 2008

The yield statement cannot be used inside an anonymous method or lambda expression

The yield statement cannot be in an anonymous method block in an iterator.

The following sample generates CS1621:

// CS1621.cs

using System.Collections;

delegate object MyDelegate();

class C : IEnumerable
{
    public IEnumerator GetEnumerator()
    {
        MyDelegate d = delegate
        {
            yield return this; // CS1621
            return this;
        };
        d();
        // Try this instead:
        // MyDelegate d = delegate { return this; };
        // yield return d();
    }

    public static void Main()
    {
    }
}

Date

History

Reason

October 2008

Added links to related topics.

Customer feedback.

Community Additions

ADD
Show:
© 2015 Microsoft