C# e VB .NET a confronto

Sottili differenze tra C# e VB .NET #Part 2#

Questa informazione me la annoto perchè sicuramente utile. Avevo già parlato precedentemente delle sottili e a volte subdole differenze esistenti tra il linguaggio VB .NET  e C#, differenze che possono anche riguardare il comportamento di Visual Studio, quindi non strettamente legate a costrutti di programmazione o alla semplice sintassi. Questa differenza però mi sorprende parecchio e non riesco a comprenderne a fondo il motivo. Presto detto: se si utilizza l'incremento automatico nel numero di versione in un assembly (per intenderci quando impostiamo questa riga [assembly: AssemblyVersion("1.0.*")] nel file AssemblyInfo, otteniamo un risultato differente a seconda se l'assembly è scritto in VB .NET o...

posted @ Tuesday, February 26, 2008 2:24 AM | Feedback (0)

Inconsistenza operatori di confronto dei Nullable Types in C#

Il linguaggio C# offre un supporto decisamente migliore dei Nullable Types rispetto a VB .NET. Nonostante ciò, utilizzando gli operatori di confronto su un tipo Nullable, es. un intero, il risultato è a dir poco strano e può dar luogo a bug piuttosto subdoli. Infatti, eseguendo il seguente codice:int? a;int? b;a=null;b=null;Debug.WriteLine(a == b);Debug.WriteLine(a != b);l'uguaglianza dei due tipi nullable con entrambe le variabili impostate a null dà come risultato "true", mentre  l'operatore  di disuguaglianza  sulle stesse variabili produce come risultato "false". Sin qui il comportamento è coerente.Questo codice invece:Debug.WriteLine(a >= b);Debug.WriteLine(a <= b); produce in entrambi i casi un risultato...

posted @ Sunday, October 14, 2007 10:23 AM | Feedback (0)