>> public static void Main() >> { >> StringBuilder loStringBuilder = new StringBuilder(); >> >> // this part outside the loop - even at class level if possible >> >> NetworkCredential credentials = new System.Net.NetworkCredential(cUsername, cPassword); >> // end part >> >> Uri uri = new Uri(lcURI); >> >> // FTP setup >> var loFtpWebRequest = System.Net.FtpWebRequest.Create(uri); >> loFtpWebRequest.Credentials = credentials; >> loFtpWebRequest.Method = System.Net.WebRequestMethods.Ftp.ListDirectoryDetails; >> >> // If we use FTP/SSL (AUTH SSL) >> // If ( nNoFTPProtocol == 2) >> // loFtpWebRequest.EnableSsl = true; >> >> >> using ( var loFtpWebResponse = loFtpWebRequest.GetResponse() ) >> { >> using ( var s = loFtpWebResponse.GetResponseStream()) >> { >> using( var loStreamReader = new StreamReader(s) ) >> { >> // Load the files into the string builder >> loStringBuilder.Append(loStreamReader.ReadToEnd()); >> } >> } >> } >> Console.WriteLine("{0}", loStringBuilder.ToString()); >> Console.ReadLine(); >> >> } >> >>Not particularly relevant but the above reminded me that you can do this:
using (var loFtpWebResponse = loFtpWebRequest.GetResponse()) >using (var s = loFtpWebResponse.GetResponseStream()) >using (var loStreamReader = new StreamReader(s)) > { > // Load the files into the string builder > loStringBuilder.Append(loStreamReader.ReadToEnd()); > }>Don't know if I regard it as more readable or not?
using ( var loFtpWebResponse = loFtpWebRequest.GetResponse() ) using ( var s = loFtpWebResponse.GetResponseStream()) using( var loStreamReader = new StreamReader(s) ) // Load the files into the string builder loStringBuilder.Append(loStreamReader.ReadToEnd());But I like to put the braces - sometimes - when not really needed. It's like an if/foreach - to avoid surprises when I need to add a statement