01/12/13 13:11
tuttodiMC
L'operatore di casting è sconsigliato perché comporta operazioni costose per la quantità di controlli richiesti e per l'utilizzo di memoria heap aggiuntiva. Di conseguenza la classe Convert, assieme al metodo Int32.Parse(), sono buone alternative in quanto non utilizzano memoria heap. Mi sono abituato subito ad usarli data la loro utilità.
Fharamir ti consiglio di non fare così:
ma ti consiglio di usare i segnaposti offerti gentilmente da WriteLine() così:
in modo da gestire meglio la stringa che vai a stampare. Io mi sono trovato più volto ad avere spazi inutili nel mezzo della stringa. Inoltre \n non ti serve a niente se usi Console.WriteLine() dato che a capo ci va da solo.
Altro consiglio. In questa parte di codice:
ti conviene utilizzare l'istruzione using in questo modo:
cosicchè tu non debba poi richiamare il metodo Close() di SW. Se per caso WriteLine() genera un'eccezione, nel tuo codice, non avverrà la chiamata al metodo disposal Close(). Se questo accade più volte potresti esaurire gli handle di file e quindi non potrai più aprire file. Una soluzione è proprio l'istruzione using, ma si può anche usare un blocco try-finally per ottenere lo stesso risultato. Per esempio così:
Infine ti consiglio di utilizzare nomi più dettagliati per le variabili, assieme alle notazioni camelCase e PascalCase.
CIAO!!!
Fharamir ti consiglio di non fare così:
Console.WriteLine("Processo interrotto. Numeri primi trovati: " + Primi.Count()); Console.WriteLine("\nTempo trascorso: " + ts.Seconds + " secondi");
ma ti consiglio di usare i segnaposti offerti gentilmente da WriteLine() così:
Console.WriteLine("Processo interrotto. Numeri primi trovati: {0}", Primi.Count()); Console.WriteLine("Tempo trascorso: {0} secondi", ts.Seconds);
in modo da gestire meglio la stringa che vai a stampare. Io mi sono trovato più volto ad avere spazi inutili nel mezzo della stringa. Inoltre \n non ti serve a niente se usi Console.WriteLine() dato che a capo ci va da solo.
Altro consiglio. In questa parte di codice:
StreamWriter SW = new StreamWriter("Primi.TXT"); foreach (UInt64 Pr in Primi) { SW.WriteLine(Pr); Console.WriteLine(Pr); } SW.Close();
ti conviene utilizzare l'istruzione using in questo modo:
using (StreamWriter SW = new StreamWriter("Primi.TXT")) { foreach (UInt64 Pr in Primi) { SW.WriteLine(Pr); Console.WriteLine(Pr); }
cosicchè tu non debba poi richiamare il metodo Close() di SW. Se per caso WriteLine() genera un'eccezione, nel tuo codice, non avverrà la chiamata al metodo disposal Close(). Se questo accade più volte potresti esaurire gli handle di file e quindi non potrai più aprire file. Una soluzione è proprio l'istruzione using, ma si può anche usare un blocco try-finally per ottenere lo stesso risultato. Per esempio così:
StreamWriter SW = new StreamWriter("Primi.TXT"); try { foreach (UInt64 Pr in Primi) { SW.WriteLine(Pr); Console.WriteLine(Pr); } } finally { SW.Close(); }
Infine ti consiglio di utilizzare nomi più dettagliati per le variabili, assieme alle notazioni camelCase e PascalCase.
CIAO!!!
Ultima modifica effettuata da tuttodiMC 01/12/13 13:14
aaa