.NET方案中的C#和Visual Basic项目

3

我有一个包含5个c#项目和一个visual basic项目的.NET解决方案。我想知道在日常编译过程中,将我的visual basic项目转换为C#是否会提高性能。


抱歉,您是在询问编译的性能吗? - Tigran
这种编程语言的名称是C#。 - Joel Coehoorn
只是一点小提示,如果你正在从C#程序集中调用VB程序集的方法,请记住C#是区分大小写的,而VB则不是,因此请避免创建仅在大小写方面有所不同的方法、成员或属性的名称。 - PedroC88
这都是关于编译时执行的问题,我对下面的答案非常满意。我忘了提到vb项目是一个完全自动生成的项目,并标记为DebuggerStepThroughAttribute。因此,在编程时我的唯一限制是编译所需的时间。谢谢大家。 - Samuel
3个回答

5

没有。Visual Basic和C#项目都编译非常快 - 所以很可能几乎没有区别。此外,由于它们都编译到相同或类似的IL中,运行时性能也几乎没有区别。

然而,在长期可维护性方面可能会有优势。使用单一语言代码库通常更容易随着时间推移进行维护,特别是在多个开发人员的情况下。


我觉得这个问题太具体化了,它实际上取决于涉及到 VB.NET 代码和涉及到 C# 代码的具体情况。 - Tigran
没有直接的性能提升或损失。你会看到的变化取决于它如何编码。随着新电脑的出现,CPU越来越聪明,能够预测某些分支。因此,即使IL按不同的顺序放置事物,CPU也可能改变它的位置。 - Ryan Ternier

1
如果编译过程中确实有任何性能提升(你说的是编译时间吧?),那么这将是微不足道的,不值得为了转换而花费时间、风险和头痛。除非你有更好的转换理由,否则在这种情况下最好保持现状

-1

我确定不是。 你所有的VB和C#代码都编译成了CIL(以前是MSIL)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接