我几年来一直是VB.net开发人员,但我目前正在申请一些使用C#的公司。我甚至被告知至少有一家公司不想要VB.net开发人员。
我一直在网上试图找到两者之间的真正差异,并询问了crackoverflow。唯一的主要区别是一些语法差异对我来说是微不足道的,因为我也是一个Java开发人员。
当面试官告诉我他们正在寻找C#开发人员或类似的问题时,对他们有什么好的回应?
答案 0 :(得分:9)
我不得不采访几个C#职位的人,这是我对VB.Net开发人员面试C#职位的一般建议:
对于您的具体问题:我之前已经问过这类问题,我想知道的是底层系统和框架是如何相同的。如果可能的话,谈谈垃圾收集,IDisposable,终结器,不安全代码块的危险,堆栈与堆等等。所有这些东西都表明你真正理解.Net框架的复杂性。对或错,VB的遗产带来了对低级编程和一般窗口缺乏理解的期望(具有讽刺意味的是,c ++开发人员会拥有c#开发人员......等等)。
最后,您如何构建自己的体验可以创造一个与众不同的世界。如果你将自己定位为.Net开发人员,而不是VB.Net或C#,那么这种愚蠢的,伪宗教的玩笑者可能无法进入对话。这当然要求你在面试时真正了解VB.Net和C#,但无论如何这都是一个好的政策。
事情的真相是,如果你发现面试你的人只是因为你以前在VB.Net中开发而把你写下来,那么它很可能不会成为你想要工作的地方。 / p>
答案 1 :(得分:3)
有些差异(比语法更重要)有时会让我感到困惑:
答案 2 :(得分:3)
我喜欢C#死,但我羡慕VB.NET的可选参数。 C#中的办公自动化非常非常痛苦。
答案 3 :(得分:2)
我认为真相将会出现:
我是一名软件开发人员,语言的语法是这个难题的最后一部分。通过雇用我,你会得到一个具有解决问题和逻辑经验的人。我对.NET环境,CLR和相关的Windows堆栈(包括SQL和Windows服务器)很有经验。我不知道C#语法,但是,我习惯于面向对象的方法,我将在几周内完全掌握语法的细节,没有问题。您可以从我的代码示例中看到我是一位经验丰富的开发人员,我向您保证,过渡将是无缝的。我已经开始学习这门语言,到目前为止我没有遇到任何问题。
答案 4 :(得分:2)
@DAC - VB现在(在.net3.5中)支持lambdas:
Function(x) x.ToString()
在一次采访中我会说理解CLR以及代码真正做的是什么是重要的,并且你很乐意编写代码(假设你是)。
答案 5 :(得分:2)
我也是死亡的C#feller,但差异不仅仅是语法。有些地方VB赢了HANDS
使用C#中的COM可能会非常令人沮丧。 (这并不是说不可能!)
答案 6 :(得分:1)
如实?如果你也是一名Java开发人员,我会带领你。具有一定.NET经验的Java开发人员通常会比具有Java经验的VB开发人员给人留下更好的印象。如果您可以回答有关.NET和Java之间差异的问题,那么您应该处于良好状态。
我还建议您尽快学习C#语法。如果您对VB和Java有经验,则不会花费很长时间。
很多开发人员都遇到过VB和使用它的人的问题。无论你是否有效,你都必须处理这个现实。
答案 7 :(得分:0)
VB或C#都只是语法不同但如果你应用逻辑方式是相同的。