Ieri mi sono imbattuto in un altra "stranezza" di VB9: mettiamo a confronto lo stesso codice C#3.0 vs VB9

C#3.0 VB9
image image

Come potete "ammirare" è apparso un fantomatico overload (index As Integer) as Char.
In realtà l'overload non esiste smile_regular ma è l'intellisense che, considerato che VB permette di invocare metodi senza usare le parentesi, decide di visualizzare l'indexer di string.
In realtà già VB2005 permette di scrivere:

   1:   Dim o As Object = "ciao"
   2:   Dim c As Char = o.ToString(1)

ma non apparendo nell'intellisense il "danno" era limitato.
Può essere che nella RTM questa "novità" venga rimossa (nelle build post Beta2 è ancora presente...) sta di fatto che rimango molto perplesso di fronte a certe scelte...