C# is designed as a purely object oriented language from the scratch
while VB.net was designed to port the existing VB programmers to dot net framework as VB.net is having the same feel as VB
there are many features in C# which are not available in VB.net like
1)Delegates which are equivalent to function pointers in VC++
2)pointers (using unmanaged code)