.net 从VB6到VS2008(C#或VB)

.net 从VB6到VS2008(C#或VB),.net,visual-studio,visual-studio-2008,.net,Visual Studio,Visual Studio 2008,我已经为web开发了6/7年多了,在此之前我在VisualBasic6上开发了大约一年(当时我对它非常熟悉),在C#上开发了一到两个月(虽然我忘记了我学到的大部分东西) 问题是,我对一些小型桌面应用程序有一些想法,我曾想过用Python开发,但没有一个可用的GUI框架像我开发VB时那样易于使用,因此我将再次开始在Visual Studio上开发 我目前对.NET的了解非常有限,让我回到正轨的最快方法是什么?我应该在C#和VB之间选择哪种语言?在哪里可以找到相关的参考资料、教程或书籍 提前感谢C#

我已经为web开发了6/7年多了,在此之前我在VisualBasic6上开发了大约一年(当时我对它非常熟悉),在C#上开发了一到两个月(虽然我忘记了我学到的大部分东西)

问题是,我对一些小型桌面应用程序有一些想法,我曾想过用Python开发,但没有一个可用的GUI框架像我开发VB时那样易于使用,因此我将再次开始在Visual Studio上开发

我目前对.NET的了解非常有限,让我回到正轨的最快方法是什么?我应该在C#和VB之间选择哪种语言?在哪里可以找到相关的参考资料、教程或书籍

提前感谢

C#可以说更好,它基于一个标准,类似于JavaScript/ActionScript和开发过程中可能使用或曾经使用的其他语言


一些很好的参考资料包括MSDN网站www.asp.net,

我目前正在将一个旧的VB6应用程序转换为VB.net,更喜欢在C#中工作,并且已经在.net中进行了大量开发

<> p > C,感觉更好,如果你来自熟悉面向对象编程,特别是java和C++。 由于您对VB6更为熟悉,所以 与VB.Net中的相同,但它提供了与C#相同的面向对象特性

这是一个很好的比较

由于熟悉VB6,C#和VB.NET在后端是一样的,VB.NET对您来说是一个更好的选择(如果您愿意,我更喜欢C#)

关于c#的最佳教程:


我建议您坚持使用VB.net,因为它与VB类似(我个人更喜欢C#)。使用VB.net,您可以获得与C#几乎相同的功能。你为什么要努力学习像C这样的语言,语法更像C,更不像VB,尤其是在你努力学习新框架的时候。此外,您还可以选择在WPF中开发。 我会先看看


重要的是VB.net或C#您现在拥有了.net framework的强大功能。

不想卷入语言大战,但我与五位从VB6到.net的开发人员以及我自己一起工作过。这并不多,但我所看到的对我们所有人都适用

两种语言都很好,我个人没有偏好。我觉得两者都一样舒服,我真的不认为两者都优于另一个

但根据我所看到的,当你转向.Net时,最好从C开始,原因只有一个。Net开发更多的是学习和使用类库,而不是语言语义。VB6通过在语言规范中添加快捷键来隐藏其中的一些功能

当你学习的语言与你已经学过的语言不同时,你更有可能寻找“正确”的做事方式

微软做了很多工作,使VB.Net易于VB6开发人员学习,因此您可以很容易地在VB.Net上编写代码,这与您在VB6中所做的非常相似。这意味着依赖“捷径”并将坏习惯带入.Net开发非常容易。因此,你可以看到,那些不能真正“理解”ADO.Net中的差异的人,他们的程序会因此而出现性能和设计问题

几小时后根据评论添加

我只是想澄清一下,我并不是说VB不如C。正如所指出的,这两种语言都可以编译成相同的MSIL,而且两种语言都很好。我所说的“VB6带来坏习惯”的意思可以通过一个例子加以澄清:

与我共事的五个人中有两个人在代码中做了同样的事情。他们需要从数据库中获取记录并循环使用,以便对数据执行一些操作。通常要做的事情是将DataReaderDataAdatpter与DataTable一起使用并循环使用。然而,它们都创建了一些数组变量,并通过DataReader结果循环,将它们分配给数组数组,然后通过数组循环进行计算,这意味着它们不仅增加了不必要的计算周期,他们还从一个收藏中取出了一些物品,这些物品可能会有类似于

Dim FullName AS String = CurrentRow("FirstName").ToString()  + " " + CurrentRow("LastName").ToString()
to(假设ar是数组变量,i是索引器)

他们的方法有效,但增加了额外的周期,使代码更难理解。我问他们每个人为什么这样做。其中一人希望在连接关闭后能够使用数据,这样他们就不会意外地更新某些内容。对于记录集,您需要担心这一点,但对于DataReader或DataAdapter,则不必担心。这显然是有人没有理解VB6的工作方式和ADO.Net之间的区别。另一个只是觉得数组更舒服,因为她熟悉数组

因此,我的观点与一种语言比另一种语言“更好”无关。这将是傲慢,也是无知。从功能上讲,你在其中一个方面做不了多少,而在另一个方面做不了多少。我喜欢前面提到的一些VB.Net“快捷方式”。(VbNewline vs System.Environment.NewLine和整个我的命名空间、输入框等)

我的观点是,当学习一些完全陌生的东西时,你不太可能被自己的先入之见所抛弃。当我们从VB.Net商店转到C#商店时,我们看到这样的事情消失了。这与语言无关,一切都与开发者被迫正确学习而不是走捷径有关

所以,出于这个原因,我仍然坚持我最初的建议,但无论如何,如果你喜欢VB,就去吧。不要担心有人因为使用它而“看不起”你。所有那些“我的语言比你的语言好”都是胡说八道。Som
 Dim strFullName AS String = ar(i)(3).ToString()  + " " + ar(i)(4).ToString()