从VB.NET编码转换到C#的好练习?

中级/高级VB.NET Web程序员应该做些什么好的练习来获得C#的语法剁?

我想一些好的例子是:

  • 运行C#语法色域的算法或项目练习
  • 参考资料
  • VB.NET程序员应该注意的关键语法差异列表

我认为最佳运动会为自己创造一些东西。

通过这种方式,您可以定义范围,“协商”新function并编写新代码以获得乐趣。

你也可以再次解决你已经知道的问题; 例如,我建议尝试用C#中的Project Euler解决一些问题。

我通过在VB.NET中完成我的一个业余爱好项目并用C#重新编写它来实现这一目标。 这让我开始很好; 在已知问题域中工作时学习语法,同时还提供要解决的现实问题。

这应该照顾#3

比较

使用自动转换器播放您自己的代码。

它应该适用于大多数事情。 你几乎只需要弄清楚如何重做lambdas以及其他一些类似的情况。

Reflector也非常适合帮助您弄清楚如何使用转换代码。

至于学习差异,请参阅MSDN的白皮书 。 它有点过时,但是一个很好的起点。 这里提供了更完整但更少文本参考的比较。

查找基础知识(如何定义函数,如何定义变量),然后在实际项目中开始编写C#。 一旦卡住(或尝试另一个答案中提到的自动转换器),请查看内容。 差异不大,因此不会显着拖延您的项目。 由于VB.NET和C#代码之间几乎存在1:1的对应关系,因此通常可以“思考VB.NET”然后用C#编写代码。

熟悉语法之后,谷歌了解VB.NET和C#之间的区别(即你在C#中可以做什么,在VB.NET中不起作用 – 例如匿名方法)并重做那些C#允许的东西更优雅的解决方案

如果您对语言有基本的掌握,我建议您使用C#中的项目Euler( http://projecteuler.net/ )。 它开始非常简单,慢慢变得越来越困难,要求您了解更多关于语言[您正在使用开发解决方案]以解决问题。

如果你还没有,那么拿起C#参考书是有意义的。

我想你过渡的速度会很快。

因为.NET中的编程更多地是关于框架而不是顶部的任何特定语言或语法,所以MSDN文档对于跨越C#和VB.NET障碍是非常宝贵的,因为它包含使用C#和VB.NET语法的一对一示例用于.NET常用元素。 例如,如果查找委托, 您将在两种语法中找到相同的示例 。

对于特定于语法的元素,其他人发布了一些很好的资源。

练习忘记VB.NET [:)],然后学习C# 作为一个普通人会学习 。 我不认为VB.NET编程器有一些特殊的学习C#的方法……你只需要熟悉.NET类库,这是一个优点。

一个好的练习是尝试理解其他人的C#代码片段,并从头开始自己复制它们。 这意味着您将遇到许多需要查找和学习的东西,以便了解这些片段的作用。

好消息是,在C#和VB.Net中,.NET框架完成了大部分繁重工作,因此您可能会理解并识别这些部分。 我在工作中同时使用C#和VB.Net,并且我已经意识到,由于共享框架,语言在实践中并没有彼此不同。

我仍然更喜欢C#,因为我觉得它会以某种方式产生更清晰的代码。