I had a method downloading a string, parsing it and then returning the parsed data as a string[]. I now want to change that method so it uses the DownloadStringAsync, but I don’t know how to still have it as a function return that string array.
Since the fetched string is parsed in the DownloadStringAsyncCompleted method and not in the method it was called from :S
You cannot seamlessly transform synchronous code into asynchronous one. In your example, you should return void and accept another parameter of type Action (callback) that you should call in DownloadStringAsyncCompleted to signal that data has come.
C# 5 will help a little bit with that, but still async is async.