title: Yield Return with Null
body: <p>Is there any way to optionally return a null with a "return yield" driven iterator?</p>
  
  <p>I would like to return a null in some cases and I don't think this is particular to IEnumerable of type string. Same goes for IEnumerable of type int etc. Thanks</p>
  
  <pre><code>static void Main(string[] args)
  {
      var Items = GetItems();
  
      if (Items != null)
      {
          foreach (var item in Items)
          {
              Console.WriteLine(item);
          }
      }
      else
      {
          Console.WriteLine("&lt;null&gt;");
      }
  }
  
  static IEnumerable&lt;string&gt; GetItems()
  {
      if (false)
      {
          yield return "Andy";
          yield return "Jennifer";
      }
  
      return null; // &lt;- Compiler Error:
      // Cannot return a value from an iterator. 
      // Use the yield return statement to return a value,
      // or yield break to end the iteration.
  }
  </code></pre>