C#开发的程序性能比Vb.net开发的同样功能的程序性能要高?

常在论坛看到有帖子问:c#和vb.net哪个性能高些?然后下面跟贴的人都坚定地说:c#和vb.net写的代码生成的IL都是一样的,性能自然是相同的了! 一直以来我也这么认为,不过看来一篇CodeProject的文章《VB vs. C# MSIL Code Generation: Are the results equal?》后,我开始不这么认为了。

作者用c#和vb.net写了功能完全相同的两段代码,然后查看其生成的IL,进行比较,结果得出结论:the VB compiler generates code that is almost as efficient as the C# compiler but does not generate code that is as a efficient as the C# compiler。上面的这段话大家应该都明白了。之所以不同,是和vb.net的语言特点有关系,vb.net遗留了一些vb的特性。

当然我们不会因为这些性能上的差异,而放弃使用vb.net或者将vb.net写的程序都用C#重写一遍,毕竟vb.net有其优秀的地方——虽然我个人十分喜欢C#(喜欢它简洁优美的风格)。