Paul Vick has a great blog entry about C# being called the “native” .NET language and using functions in the VisualBasic namespace (some of which are faster than doing it the System namespace). A few key quotes:
“The bottom line, though, is that there is no language that is ‘native’ to the .NET environment. While it’s certainly true that there was no language called ‘C#’ that existed before .NET came into being, one of the major selling points of C# is that it is an amalgm of the syntax and features found in C, C++, Java and VB, adapted for the .NET platform. In that sense, it is exactly like Visual Basic on .NET – an adaptation of a previously existing language (just as C++ and Java were, in turn, adaptations of C, which was, itself, an adaptation of prior languages).”
“This means you’ll get significantly worse performance by calling Convert.ToInt32 instead of using CInt.”
“So, in the end, there is no “native” language on the CLR and performance is something you’re going to have to think about no matter what language you choose.”
Real the whole thing.