How could I use C# to download the contents of a URL, and store the text in a string, without having to save the file to the hard drive?
See WebClient.DownloadString. Note there is also a WebClient.DownloadStringAsync method, if you need to do this without blocking the calling thread.