title: Parallel Linq - return first result that comes back
body: <p>I'm using PLINQ to run a function that tests serial ports to determine if they're a GPS device.</p>
  
  <p>Some serial ports immediately are found to be a valid GPS. In this case, I want the first one to complete the test to be the one returned. I don't want to wait for the rest of the results.</p>
  
  <p>Can I do this with PLINQ, or do I have to schedule a batch of tasks and wait for one to return?</p>