No, it's not really perfectly fine C# code. You should dispose the StreamReader, so at least have a using
statement:
using (StreamReader reader = new StreamReader(WebRequest.Create(urlName).GetResponse().GetResponseStream()) {
return reader.ReadToEnd();
}
That code may gain a bit readability by dividing it into more lines, but not very much.
Generally I prefer readable code before compact code. Having one statement on each line makes the code easier to read and understand. For example:
if (i <= 4) i = 4 - i;
This becomes more readable with the if statement on one line and the code inside it on a separate line, with the if statement always having brackets:
if (i <= 4) {
i = 4 - i;
}
This code is of course rather readable even in the compact form, but the more complex the code is, the more it gains from putting each statement on a separate line.