WebRequests assíncronos usando c #

Oi eu tenho uma função que passa url Get parâmetros para um arquivo php em um servidor web e aguarda uma resposta do arquivo (normalmente leva 10-20 segundos). Eu quero colocar isso dentro de um loop, porque eu tenho que enviar essas solicitações Get para cerca de 5 arquivos php diferentes de uma só vez, mas quando eu tento adicioná-lo a um loop, a função faz com que o loop aguarde até que o arquivo retorne a resposta antes que ele vá. para o próximo.

    public string HttpGet(string URI, string Parameters)
    {
        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(URI + Parameters);

        HttpWebResponse response = (HttpWebResponse)request.GetResponse();
        StreamReader resStream = new StreamReader(response.GetResponseStream());
          return resStream.ReadToEnd().Trim();
    }

    private void SendCommand()
    {
        for( int i = 0; i <= 4; i++)
        {
            AddRTB(HttpGet(url, paramater));
        }
    }

Existe uma maneira de enviar as 5 solicitações de uma só vez sem esperar pela conclusão da anterior? (Eu estava pensando em enfiá-lo, mas, infelizmente, nunca o toquei antes, não sei por onde começar.)

questionAnswers(4)

yourAnswerToTheQuestion