Asynchronous foreach
<p>is there a way for an Asynchronous foreach in C#?
where id(s) will be processed asynchronously by the method, instead of using <strong>Parallel.ForEach</strong></p>

<pre><code>//This Gets all the ID(s)-IEnumerable &lt;int&gt;
var clientIds = new Clients().GetAllClientIds(); 

Parallel.ForEach(clientIds, ProcessId); //runs the method in parallel

static void ProcessId(int id)
{
// just process the id  
}
</code></pre>

<p>should be something a foreach but runs asynchronously</p>

<pre><code>foreach(var id in clientIds)
{
   ProcessId(id) //runs the method with each Id asynchronously??
}
</code></pre>

<p>i'm trying to run the Program in Console, it should wait for all id(s) to  complete processing before closing the Console. </p>