
C# i VB.NET su 99.9% ISTI. Onaj 0.1% se odnosi na nemogućnost prenosa neinicijalizovanih nizova iz vb.net-a u out parametre u C# metodama, ali to kompajler sam kompenzuje, tako što vam iza leđa incijalizuje niz i na (po meni glupavo ograničenje) to što VB.NET ne može da ima default non-indexed property, što se zaobilazi uvođenjem dummy parametra u indexer.
Čak i generišu isti MSIL kod, i jedini način da ih efektivno razlikujete je posmatranjem MSILa i gledanjem redosleda inicijalizacije delegata, koji se u C# radi kroz kod a u VB.NETu (kao ispomoć VB6 raji) kroz Handles deklaracije (koje kompajler pretoči u inicijalizacioni kod)
Stvar je samo da li više volite simboliku { } ili literarno Sub/End Sub.
Ja inače preferiram C# ali pošto radim za foreignere, oni su teško naloženi na VB.NET iz razloga, pogađate, što znaju VB6

Generalno je utisak da MS pokušava da se reši VB.NETa ali im to nije prvi put da se zeznu, inercija je suviše velika i industrija će ih primorati da VB.NET zadrže u fokusu.
naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji
je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan,
sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv - Z.Đinđić