当我在VB中编写过去十年的编码时,如何调整我的C#技能?

我的职业生涯是在vax系统上用C / C ++开始编写的,但是进入了一些合同,它们都是VB,然后成为VB的专家,然后是VB.net。 现在我渴望为微软工作,看来他们发布的每一份工作都是用C / C ++ / C#编写的,我几乎看不到C#代码,对我来说这看起来是最复杂的混乱,内联语法几乎伤害了我的感受。

我正在寻找关于如何再次获得C#技能的积极,无火焰,有用的建议。 Books..Labs..etc? 我一直使用Silverlight和C#编写简单的项目来尝试解决它,但它非常令人沮丧,因为我可以找到很少的示例来说明每个代码集的外观。 我已经用Google搜索了,但除了channel9实验室之外还没有找到任何有用的东西,并且正在研究mix10的一些示例代码/项目。

我不是在寻找捷径,而是要有一个良好的技能理解。 我发誓,将英语翻译成拉丁语比翻译成C语言更容易。

我个人首先将VB.NET项目转换为C#,完成VB.NET后,一旦你开始使用相同的底层CLR就不会有困难了。

这样做是一步一步,查找如何转换你不理解的每个位,你很快就会根据你对VB.NET的了解而自学C#,你会发现它们真的不是那有很大的不同!

我发现它们非常相似,我现在都知道它们,它们只是习惯于“略微”不同地做事。

另外,请查看此 Wiki页面以获得VB.NET和C#的摘要比较,并查看底部的示例以查看一些基本的语法比较,这些比较将为您提供将VB.NET转换为C#的起点。

由于VB.NET和C#都是一流的面向对象的.NET语言,可以编译成几乎相同的CIL代码,我发现在两者之间切换相当容易。 .NET中的大部分学习曲线来自于学习无数的API; 语法并不需要很长时间才能完成。

我推荐一本专注于C# 语言的好书(也就是说, 不是像Winforms,Silverlight或WPF这样的框架)。 我非常喜欢的一本书是Daniel Solis的Illustrated C#2008 。 它非常适合从头到尾公开C#语言。 (注意:虽然它在标题中写着“插图”,但它并没有很多漂亮的图片。“插图”只是意味着作者使用了许多有用的图解释概念)。

另外,我花了很多时间在http://www.projecteuler.net上解决数学问题,以便学习C#。 学习语言有助于解决实际问题,而Euler项目提供的问题足够小,您仍然可以专注于学习语言的不同方面。

如果你还记得关于C的任何事情,那么你遇到这个困难很奇怪。我有类似的背景,但我觉得C#很难读。

您是否对LINQ或lambdas /匿名方法感到困惑? 编辑你说它是LINQ:这里有LINQ的一些链接。

  • LINQ语法在VB中与C#不同,对VB语法没有多大帮助 。 MSDN 101 VB LINQ样本很好,我也很喜欢Programming VB 2008中的报道。
  • Lambda是一种编写内联方法的方法,可能是你所指的“内联语法”? 在这种情况下,只需阅读它们并试用它们:您可以在C#或VB.Net中试用它们。

在2008年1月的Visual Studio杂志中,有一些关于C#和VB.Net之间差异的有用文章。

  • VB开发人员应该了解C#
  • 为了完整起见, C#开发人员应该了解VB

您可能也对“ 在C#中禁止VB中允许的内容(反之亦然) ”这一问题感兴趣

完全公开 :这个答案的底部几乎没有从这个将C#知识转换为VB.Net的问题中复制

购买“ Head first C# ”并享受编码。 这是市场上学习C#的最好的书(根据我和其他一些人的说法)。

替代文字

Scott Hanselman在他的博客上发布了一个名为“ 每周源代码 ”的常规专栏,该代码由源代码组成 – 通常是C#—您可以通过阅读来学习。

我的第一选择是由W69rdy给出:将你已经在VB中完成的一些项目转换为C#。

其次,我会浏览C#文档,或者像James建议的那样的在线资源,至少每天一次寻找你不理解的东西。 也许就像你不认识的语言关键词一样简单。 然后写一些使用它的东西:甚至像小片段一样简单。

如果您正在寻找快速阅读和教程, 这个将工作。 我同意@TechNeilogy和@ W69rdy将程序从VB.NET转换为C#将有助于理解语言之间的相似性和差异。

我将VB.NET Windows服务转换为C #Windows服务,并且在尝试学习C#时帮助很大。

我也是VB .NET程序员。 我发现使用Jetbrain的Resharper Visual Studio插件确实帮助了我的学习曲线。 我最初将VB .NET项目转换/优化为C#,我发现编码辅助工具确实很有帮助。 大多数时候,我只是想找到C#等价物,所以代码完成通常会让我朝着正确的方向前进。

我最近也从VB转向C# – 我发现这个转换器作为一种学习工具非常有用,当你不知道一点C#语法但你可以用VB编写它。

你应该从互联网上的一些C#教程开始,了解如何使用c#,然后阅读一本最多300页的书。 之后,您可以开始从VB转换为C#。 这并不困难。 祝好运。

我在工作中同时使用vb.net和c#。 有时甚至在同一个项目中。 老实说,当你在第一对夫妇放错位置或失踪之后来回切换; 或者Dim的,在两者之间跳跃很容易。 剩下的东西(类修饰符,事件处理程序等)只是一个快速的谷歌。

你真正要迈出这一步的唯一方法就是跨越并运行它!

当然,请查看基础教程或阅读C#指南以了解语法基础知识,但是您需要找到一个相当简单,自包含的项目来加入。 如果你知道一些.NET框架(你可能会这么做),那么跳转实际上并不是那么好。 显然,不要选择庞大,复杂,关键任务的系统开始!

事实上,虽然我目前的项目是我的第一个c#项目,但我不敢相信我之前没有进行过切换。 除了享受C#之外,我也发现它更容易,因为我发现周围有更多优质的例子。

我的意思并不是这个,但答案是简单地用C#开始编码!

有大量的书籍,资源,培训CD(请查看AppDev.com进行一些精彩的video培训)但没有什么能比得上现实问题的编码!

(我同意之前关于将最近的项目转换为C#的评论。)

“我们学会做的,我们通过做学习”亚里士多德