Нет, это не совсем идеальный код C #. Вы должны располагать StreamReader, поэтому, по крайней мере, используйте оператор using
:
using (StreamReader reader = new StreamReader(WebRequest.Create(urlName).GetResponse().GetResponseStream()) {
return reader.ReadToEnd();
}
Этот код может получить немного читабельности, если разделить его на несколько строк, но не очень.
Обычно я предпочитаю читаемый код перед компактным. Наличие одного оператора в каждой строке облегчает чтение и понимание кода. Например:
if (i <= 4) i = 4 - i;
Это становится более читабельным с оператором if в одной строке и кодом внутри него в отдельной строке, а оператор if всегда имеет квадратные скобки:
if (i <= 4) {
i = 4 - i;
}
Этот код, конечно, довольно читабелен даже в компактной форме, но чем сложнее код, тем больше он получает от размещения каждого оператора в отдельной строке.