title: LINQ make All method async
body: <p>Hello i'm looking for a way to make All method run in async mode. As a matter of fact i'm trying to figure a way on how to make use of async whenever i need it in LINQ. Some linq methods have also async definition and i don't quite understand why not all methods have async definition, so maybe someone can clear things up for me.</p>
  
  <p>Related to me trying to make All run async </p>
  
  <blockquote>
    <p>Version 1</p>
  </blockquote>
  
  <pre><code> async Task&lt;bool&gt; IHrtbProfileValidator.ValidateHrtb(UserHrtbProfileDTO dto_Hrtb)
          {
              var x = _validator.All(async (ck) =&gt; await ck.ValidateHrtb(dto_Hrtb));
              return x;
          }
  </code></pre>
  
  <blockquote>
    <p>Version 2</p>
  </blockquote>
  
  <pre><code>var x = _validator.All((ck) =&gt; await ck.ValidateHrtb(dto_Hrtb));
  </code></pre>
  
  <blockquote>
    <p>Version 3</p>
  </blockquote>
  
  <pre><code>  var x = _validator.All(async (ck) =&gt; await ck.ValidateHrtb(dto_Hrtb).Result);
  </code></pre>
  
  <p>this is what i've tried </p>
  
  <p>The idea is that i have a IValidator interface from which multiple validator classes implement each responsible with its own validation related logic . In the MainValidator class i'm just looking to call All method to validate a list of IValidator.</p>
  
  <p>Thank you all</p>