title: What is the best way to do multithreading or asynchronous task in .NET with return value?
body: <p>What would be the best way to do multithreading or asynchronous task in the following situation in C#?</p>
  
  <p>The simplified situation:</p>
  
  <blockquote>
    <p>A http request needs to make 5 or more
    web service calls. Upon completion
    each web service call will receive and
    return a string list as a result. The
    caller (of 5 web service calls) need
    to merge the 5 results into a single
    string list and return it to the http
    caller.</p>
  </blockquote>
  
  <p>Because each thread needs to return a value in the end so I am wondering if <a href="http://msdn.microsoft.com/en-us/library/22t547yb(VS.71).aspx" rel="nofollow noreferrer">Asynchronous Delegates</a> is the way to go. Because I am not so experienced in this area so I am asking this questions and/or suggestions.</p>
  
  <p>Thank you!</p>