Claudio Brotto

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 ?

Posted: nov 01 2006, 06:44 by devlizard | with 2 comment(s)
Filed under:

Comments

Web Log di Adrian Florea said:

# luglio 8, 2007 6:08

Claudio Brotto said:

Un paio di giorni fa Adrian Florea ha scritto un post (peraltro davvero interessante) che rimanda ad

# luglio 10, 2007 10:24