我应该将VB.net或C#用于桌面应用程序

时间:2009-10-27 10:15:58

标签: c# vb.net user-interface desktop

我来自unix / server / c ++ / java背景,没有GUI经验 我需要构建Windows GUI应用程序,我需要快速构建它我被告知 .net系列就是这样的工作。 但是有VB.net和c#应该选择哪种更快更好的工作呢? 没有教学用户安装和部署最终产品会更容易

10 个答案:

答案 0 :(得分:10)

简短的回答是没关系。

在功能方面,.NET框架提供基类库,运行时环境等。您可以使用您选择的任何语言。您可以使用VB.NET,C#或任何其他一流的.NET语言完成相同的操作。

但是,由于您来自C ++ / Java背景,您可能会发现C#语法比VB.NET更熟悉。

答案 1 :(得分:7)

就可用内容而言,它们完全相同。

也就是说,如果你来自C ++ / Java背景,我会推荐C#,因为学习曲线要​​小得多,你不需要学习全新的语法。

就部署而言,使用OneClick的.NET应用程序(如果适用)非常,非技术用户可以轻松使用。它归结为“转到我的网站并单击安装按钮”。从开发人员的角度来看,它通常也没有那么困难。 Visual Studio也可以选择制作传统的安装包。

答案 2 :(得分:5)

有一个quote from Jeremy D. Miller

  

VB.Net和C#基本上是国家和西方。

完美地解释它,不是吗?

答案 3 :(得分:4)

VB.NET与C#的问题几乎是一场宗教战争。

它们与你允许你做的事情以及你能做到的速度非常接近。

看到你有C ++背景,C#可能看起来更熟悉,但你仍然需要学习。使用VB.NET的学习曲线会更加陡峭。

对于部署问题,您的用户需要安装相应的.NET框架。它存在于1.0到3.5 SP1的版本中,4.0关闭了我们。

  • Windows Server 2003预安装了.NET 1.1
  • Vista / Windows Server 2008预安装了.NET 3.0
  • Windows 7预装了.NET 3.5

答案 4 :(得分:3)

这些语言几乎与您想要的相同。我会说使用C#作为你的C ++背景将允许使用C#比VB.net更浅的学习曲线。

答案 5 :(得分:3)

选择C#因为:

  1. 它拥有所有.Net语言中最好的工具支持。
  2. 你是一个C ++人。你会发现它的语法比VB更容易适应。
  3. 就基于GUI的桌面应用程序而言,VB没有提供优于C#的特殊优势。
  4. 因为它更受欢迎,所以学习C#将证明你的职业生涯更有成效。

答案 6 :(得分:2)

语言几乎相同。如果您使用Visual Studio(我建议您这样做,如果您需要快速构建应用程序),那么两种语言的GUI设计体验将是相同的。同样,VB.NET和C#的安装和部署过程也没有区别。

所以,除非你需要一些仅由其中一种语言支持的特定功能(比如C#中的多行lambda或VB中的XML文字 - 你可能不需要一个简单的GUI应用程序),所以请随意选择其语法比较熟悉的那个。由于你有C ++ / Java背景,我想这意味着C#。

答案 7 :(得分:2)

我会说因为你的背景,请使用C#。

它真正的两种语言最终会做同样的事情,你最终会随着时间的推移阅读这两种语言。但是C#是前进的方向,据我所知,我不得不说C#开发人员比只知道vb.net的人有更多的工作机会。

如果你来自纯vb6背景,VB.net可能更容易学习,但我发现大多数具有一点JS经验的Web开发人员可以轻松地学习C#语法。

当您考虑学习.net时,您应该掌握框架,因为了解哪些框架类可以重用以及何时对作为.net开发人员的整体技能非常重要。

答案 8 :(得分:1)

就能力而言,两者或多或少相同 - 存在一些差异,但在一般情况下这些差别不大。在向用户部署应用程序方面,它们是相同的 - 功能在框架中而不是语言。

因此,有两种方法可以看出这个: 1)使用C#,因为语法很熟悉,你不会把自己绑在试图忘记添加a的结上;在声明的最后 要么 2)使用VB.NET因为它的不同所以你可以更少地去解决你正在工作的环境。

实际上我会使用C# - 在C#中可能有比在VB.NET中更多的样本,如果你已经可以应对C ++和Java之间的交换,那么添加第三种类似的语言可能不会是压力很大。

答案 9 :(得分:1)

我们在asp.net vb.net中进行编程,但有时我们在C#中找到算法,并且我们没有将它们转换为C#的问题。 C#是专门为.NET创建的,但我还是告诉你为什么更好。在webforms中,您可以用一种语言编写一些页面,用其他.net语言编写其他页面,我们在一个基于VB.NET的项目中编写了几个C#页面。如果你必须做一个基于webforms的应用程序,你可以尝试两者,但如果你不需要做webforms我不建议在winforms上使用它们

在我们阅读的最后一本asp.net书中,他们将代码示例从VB.NET切换到C#,因为现在大多数人都使用C#for .NET。我们使用VB.NET是出于微不足道的原因,因为任何.NET语言都共享基类库,我们只想避免输入“{”,“;”和案例敏感性