VB.NET e C#: che differenza passa fra ...
Difficile imitare i Quiz di Adrian (già è difficile rispondere, idearne uno poi ...).
Però scrivo questo post sotto forma di domanda (ma niente paura, è molto più facile dei QuizSharp).
Prendete un assembly .NET (Componente.dll) che contenga una classe Libreria con un metodo public static [mscorlib]System.Collections.ArrayList GetList(), di cui conosciamo solo la signature che è quella appena indicata.
In un assembly (che referenzia Componente.dll) generato compilando codice C#, abbiamo quanto segue:
System.Collections.ArrayList list = Libreria.GetList();
foreach (string item in list)
{
System.Console.WriteLine(item);
}
In un assembly (che referenzia Componente.dll) generato compilando codice VB.NET, abbiamo quanto segue:
Dim list As System.Collections.ArrayList = Libreria.GetList()
For Each item As String In list
System.Console.WriteLine(item)
Next
Tutti gli assembly sono scritti indifferentemente con una o l'altra versione del framework (salvo ovvia compatibilità fra di loro).
Sapreste scrivere il corpo del metodo GetList, in modo tale che i due snippet scritti abbiano risultati differenti ?