7

我已经做了几年 VB.net 开发人员,但我目前正在申请一些使用 C# 的公司。我什至被告知至少有一家公司不想要 VB.net 开发人员。

我一直在网上寻找两者之间的真正区别,并询问了crackoverflow。唯一的主要区别是一些对我来说微不足道的语法差异,因为我也是一名 Java 开发人员。

当面试官告诉我他们正在寻找 C# 开发人员或类似问题时,他们会怎样回答?

4

8 回答 8

9

我不得不面试一些 C# 职位的人,这是我对 VB.Net 开发人员面试 C# 职位的一般建议:

  • 确保您清楚自己一直在使用 VB.Net。这似乎很明显,但显然不是(根据我的经验)。
  • 如果可能,请尝试提供代码示例。我见过一些由 VB 程序员编写的可怕的 VB.Net(和 C#),他们在过渡到 .Net 时似乎没有学到太多东西。
  • 如果被问到,能够在面试期间用 C# 编写代码。我知道两者之间没有太多真正的区别,但我不想付钱让你学习新语法。

对于您的具体问题:我之前问过这类问题,我想听的是底层系统和框架是如何相同的。如果可能的话,谈谈垃圾收集、IDisposable、终结器、不安全代码块的危险、堆栈与堆等。所有这些都表明你真正了解 .Net 框架的复杂性。对或错,VB 的传统带来了对底层编程和一般窗口缺乏理解的期望(具有讽刺意味的是,c++ 开发人员会拥有 ac# 开发人员......等等)。

最后,你如何构建你的体验可以让世界变得不同。如果您将自己定位为 .Net 开发人员,而不是 VB.Net 或 C#,那么愚蠢、伪宗教、玩笑可能不会进入对话。这当然要求您在面试时实际上同时了解 VB.Net 和 C#,但无论如何,这都是一个好政策。

事情的真相是,如果你发现面试你的人仅仅因为你以前在 VB.Net 中进行过开发而将你拒之门外,那么它很可能不会成为你想要工作的地方。

于 2008-08-18T16:18:29.823 回答
3

一些差异(比句法更重要)有时适合我:

  • VB.NET 没有匿名委托
  • 不安全的代码块不在 VB.NET 中
于 2008-08-18T15:19:40.300 回答
3

我爱死 C#,但我羡慕 VB.NET 的可选参数。C# 中的办公自动化非常非常痛苦。

于 2008-08-18T15:43:23.093 回答
2

我认为真相会在这方面出现:

我是一名软件开发人员,语言的语法是拼图的最后一部分。通过雇用我,您将得到一个具有解决问题和逻辑经验的人。我熟悉 .NET 环境、CLR 和相关的 Windows 堆栈,包括 SQL 和 Windows 服务器。我不知道 C# 语法,但是,我习惯了面向对象的方法,我将在几周内完全掌握语法的细节方面没有问题。您可以从我的代码示例中看出我是一位经验丰富的开发人员,我向您保证过渡将是无缝的。我已经开始学习这门语言了,到目前为止我还没有遇到任何问题。

于 2008-08-18T15:15:31.243 回答
2

@DAC - VB 现在(在 .net3.5 中)支持 lambda:

Function(x) x.ToString()

在一次采访中,我会说理解 CLR 和代码真正在做什么是最重要的,并且你很乐意在其中任何一个中编写代码(假设你是)。

于 2008-08-18T15:47:44.627 回答
2

我也是一个 C# 死忠,但差异不仅仅是语法。VB在某些地方胜出

  1. 可选参数
  2. 后期装订

从 C# 使用 COM 可能是一件非常令人沮丧的事情。(这并不是说不可能!)

于 2009-01-27T07:29:26.657 回答
1

说实话?如果您也是 Java 开发人员,我会带头。具有一定 .NET 经验的 Java 开发人员通常会比具有 Java 经验的 VB 开发人员给人留下更好的印象。如果您可以回答有关 .NET 和 Java 之间差异的问题,那么您应该处于良好状态。

我还建议您尽快学习 C# 语法。如果您有 VB 和 Java 方面的经验,那不会花很长时间。

许多开发人员对 VB 和使用它的人有疑问。有效与否,您将不得不面对这个现实。

于 2008-08-18T15:38:40.887 回答
0

VB 或 C# 都只是语法不同,但如果你应用逻辑的方式是相同的。

于 2009-01-27T07:17:11.110 回答