VB.NET为c#开发人员准备的

本文关键字:开发 NET VB | 更新日期: 2023-09-27 18:03:39

我可能开始一份需要VB的新工作。. NET,但我是一个c#开发人员,即使我可能能够理解代码,从头开始编写它对我来说似乎是一件麻烦事。

有c#>VB。NET转换器在那里(在线),你粘贴你的c#代码,它将其转换为VB。NET代码。我的问题是,是否有人经历过这种情况这是否是一个好的临时解决方案还是我会遇到很多困难?他们转化得好吗?

我可能会在Asp.net上运行代码

转换器示例:http://www.developerfusion.com/tools/convert/csharp-to-vb/

VB.NET为c#开发人员准备的

不要使用转换器-学习VB。. NET及其语法与c#的区别。

这里有一个非常好的比较小抄表,可以让你开始。

在实践中,你会发现大多数时候你都是以同样的方式与熟悉的。net对象进行交互,你只是有一些语法差异(尽管泛型和委托语法是如此的痛苦,以至于人们倾向于回避它们)。

微软已经声明,他们正在努力使这两种语言的功能相同,所以你可以在c#中做的任何事情,你应该可以在VB中做。. NET(通常有微小的差异)。


更新-不要忘记编译的代码(在程序集中)应该在两种语言中工作相同(假设符合CLS),所以你可以用c#编写一个库用于VB。. NET,反之亦然

您可以尝试teleerik Code Converter

也就是说,手动转换代码将是一个有价值的练习。通过手动转换,您将获得大量的经验,并且您将了解两种语言之间的一些关键差异,这些差异可能会帮助您继续前进。

我会说你的代码可以工作,但是你会错过一些特殊的特性,这些特性是c#没有的,而这些特性会使你的代码更适合c#语言。一些例子:

  • 在c#中,您使用+=分配事件处理程序,这将被转换为AddHandler。然而,在VB中,使用WithEvents实例变量更为常见。这与ASP尤其相关。. NET,其中c#经常使用AutoEventWireup特性,这在VB中是通过WithEvents完成的。

  • 在c#中,通过LINQ到XML方法调用来访问XML,这些方法调用将被转换为VB中匹配的方法调用。然而,在VB中,使用集成语言对XML的支持更自然。

这对于转换大量代码很好,但它不是一个完整的解决方案。你会遇到的一个问题是,转换器知道如何处理c#的索引括号([])和方法括号(())。VB在索引器和方法中使用括号,它无法知道该使用哪个。

我经历了这些东西的转换地狱,最后决定它们太麻烦了,手工转换要容易得多。我有VB开发背景,所以这对我来说没什么大不了的。

对于你想要做的,你需要学习VB。净的语法。用c#编写所有内容并将其转换为VB。NET不是一个好的、长期的解决方案。你最终将不得不学习VB.NET。你的经理不会乐意看到你没有学习你被雇佣来编程的语言的核心基础知识。

不要这样做…有一些转换器,但你会发现,一旦你了解了关键的区别,你就会很好。您将以相同的方式与。net库进行交互,因此许多编程将是相同的。

我最近刚换了工作,走了相反的方向。我很高兴我花了时间学习c#。大红利最终会让你更多才多艺。