Sulla rete è possibile trovare alcuni convertitori di codice da C# a VB .NET e viceversa. Anche se in alcuni casi il codice viene tradotto nel modo corretto, trattandosi di tool automatici non bisogna mai aspettarsi grandi risultati... Recentemente ho provato il Code Converted di Telerik, attualmente in versione beta. Ho fatto un test cercando di tradurre un semplice ciclo for da C# a VB.NET:
for (int i = 0; i < 10; i++)
System.Debug.WriteLine(i.ToString());
Ed ecco qual è stato il risultato:
Dim i As Integer = 0
While i < 10
System.Debug.WriteLine(i.ToString())
System.Math.Max(System.Threading.Interlocked.Increment(i),i - 1)
End While
La semantica dell'algoritmo è rispettata... Ma sinceramente non avevo mai pensato a scrivere un ciclo for in questo modo ... Bello soprattutto l'uso di Math.Max e Interlocked.Increment