aprile 2008 Blog Posts

Un errorino subdolo

Occhio alla differenza tra: for (int i = 0; i < 2; i++) { string s = "errore: " + i + 1 + " mancante!"; } e questo: for (int i = 0; i < 2; i++) { string s = "errore: " + (i + 1) + " mancante!"; }Technorati tags: .NET, Csharp

Test dell'invio mail

Per testare l'invio delle mail anche quando non si ha un servizio disponibile (arriveranno sotto forma di file .eml nella cartella indicata), è sufficiente inserire nel web.config: <system.net> <mailSettings> <smtp deliveryMethod="SpecifiedPickupDirectory"> <specifiedPickupDirectory pickupDirectoryLocation="C:\Prova"/> </smtp> </mailSettings> </system.net>Technorati tags: .NET

Skip menu

Visto che non ci costa niente... <a href="#skiplinkmenuorizzontale" title="salta il menu orizzontale"> <asp:Image runat="server" ID="imgSkipLink" AlternateText="" Width="0" Height="0" BorderWidth="0" ImageUrl="~/img/blank.gif" /></a>  MENU <a id="skiplinkmenuorizzontale"></a>   Aiutiamo chi è più sfortunato di noi permettendogli il "salto" del menu. TreeView e Menu già lo fanno... Technorati tags: .NET,  Accessibilità,  Web

Il problema di Math.Round()

Problema: Anche se non si può parlare proprio di bug, vorrei risolvere il problema di Math.Round(), davanti al quale mi sono trovato diverse volte: Console.WriteLine(Math.Round(1.5)); Console.WriteLine(Math.Round(2.5)); Console.ReadLine(); Restituisce 2 in entrambi i casi. E non va assolutamente bene nelle nostre applicazioni dove in generale vogliamo arrotondare alla cifra precedente il numero che termina con 0-4 e alla cifra successiva il numero che termina con 5-9. Soluzione: Diverse le soluzioni in rete, tutte matematiche. Correggo ciò che avevo scritto precedentemente, grazie al suggerimento di Stefano, per segnalare la presenza di un overload: Console.WriteLine(Math.Round(1.5, MidpointRounding.AwayFromZero)); Console.WriteLine(Math.Round(2.5, MidpointRounding.AwayFromZero)); Console.ReadLine(); che restituisce il risultato corretto Technorati tags: Csharp