I mean can I do something like this:
var client = new WebClient();
var result = client.DownloadString(string("http://example.com/add.php");
var result2 = client.DownloadString(string("http://example.com/notadd.php"));
in paralel like for 100 url’s ?
In .NET 4.0, the simplest way is to use the ParallelExtensionsExtras‘s AsycCache along with the DownloadStringTask extension method. In fact, the example for this code covers your exact scenario:
See here for more details.