title: Can IEnumerable.Select() skip an item?
body: <p>I have this function:</p>
  
  <pre><code>public IEnumerable&lt;string&gt; EnumPrograms() {
      return dev.AudioSessionManager2.Sessions.AsEnumerable()
          .Where(s =&gt; s.GetProcessID != 0)
          .Select(s =&gt; {
              try {
                  return Process.GetProcessById((int)s.GetProcessID).ProcessName;
              }
              catch (ArgumentException) {
                  return null;
              }
          });
  }
  </code></pre>
  
  <p>The try..catch is necessary since there may be sessions with a PID that doesn't exist anymore. I'd like to skip them. Is there a way to do this from the <code>Select</code> callback or do I need to add a new <code>Where</code> condition that skips <code>null</code> values?</p>